【问题标题】:SIP UAS asks for OPTIONSSIP UAS 请求选项
【发布时间】:2011-02-27 08:35:15
【问题描述】:

我有 UAC 注册到 UAS,注册后 UAS 向我发送 OPTIONS 请求,我应该如何回答?

只有音频媒体流?

更新一:

请允许我更好地解释一下自己...如果我想邀请某人参加会议,我会使用 INVITE 方法并随后与媒体协商,针对该特定会议。但是一旦我注册到服务器,它要求我提供选项,那么我应该提供什么,我的客户支持的一切?一旦我回答,它会推断出我从现在开始请求的每个邀请都会使用这些媒体吗?还是我需要为每个请求提供新媒体?

更新二:

嗨,Wiz, 我正在构建一个协商系统,所以我尝试了一下并回答 UAS 这里是我们的排序对话框:

OPTIONS sip:310@hostName.hn SIP/2.0
Via: SIP/2.0/UDP xx.xx.xx.xx:5060;branch=z9hG4bK45b197cb;rport=5060;received=xx.xx.xx.xx
From: "Unknown" <sip:Unknown@xx.xx.xx.xx>;tag=as66cf26df
To: <sip:310@hostName.hn>
Contact: <sip:Unknown@xx.xx.xx.xx>
Call-ID: 28803f304694e9ac61f6455a0b71795e@xx.xx.xx.xx
CSeq: 102 OPTIONS
User-Agent: Freeswitch 1.2.3
Max-Forwards: 70
Date: Sat, 05 Jun 2010 12:06:43 GMT
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO
Supported: replaces
Content-Length: 0

响应 102 的选项:

SIP/2.0 200 OK
Via: SIP/2.0/UDP xx.xx.xx.xx:5060;branch=z9hG4bK45b197cb;rport=5060;received=xx.xx.xx.xx
From: "Unknown" <sip:Unknown@xx.xx.xx.xx>;tag=as66cf26df
To: <sip:310@hostName.hn>
CSeq: 102 OPTIONS
Call-ID: 28803f304694e9ac61f6455a0b71795e@xx.xx.xx.xx
Allow: INVITE,CANCEL,ACK,BYE,OPTIONS
Content-Type: application/sdp
Content-Length: 248

v=0
o=310 4515233118481497946 4515233118481497946 IN IP4 10.0.0.1
s=-
i=Nu-Art Software - TacB0sS VoIP information
c=IN IP4 10.0.0.1
m=audio 40000 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000

这个响应导致服务器停止向我发送选项请求,这是否意味着我现在只能在服务器上使用这些参数?还是如你所说,没关系?

谢谢, 亚当。

【问题讨论】:

    标签: media sip sdp


    【解决方案1】:

    OPTIONS 请求可用于查询 SIP 设备的功能,因此根据法律规定,您应该在 OPTIONS 响应 SDP 中返回所有支持的编解码器。

    要记住的一点是,一些用户代理,尤其是 Asterisk,使用 OPTIONS 请求作为保持活动的机制,他们实际上并不关心响应,实际上只是将其丢弃。如果处理 OPTIONS 请求会花费您一些处理时间,请记住这一点。

    在我自己的 SIP 代理上,我返回 405 Method Not Supported for OPTIONS 请求,并且从未有任何副作用。

    【讨论】:

    • 你看,我只是想知道......我每隔几秒钟就会收到 5 个 OPTIONS 请求。正好 5... 我会试试你的建议。
    【解决方案2】:

    您应该返回与收到邀请时相同的状态。

    除了您的 SDP(再次与邀请相同)之外,您还应该使用 Allow、Accept、Accept-Encoding、Accept-Language 和 Supported 标头字段。

    阅读更多:http://www.faqs.org/rfcs/rfc3261.html#ixzz0pnjJjKfl

    【讨论】:

    • 好的,我可以从 RFC 获得,但我想知道我的客户支持的 3 种媒体类型、音频视频和传真……我应该全部提供吗?如果我有 100 种媒体类型,请全部提供,还是只提供会话的那些(其中 90 种)?
    • 是的。返回所有您愿意接受的媒体类型。因此,如果您有 100 个,并且您真的喜欢 10 个,则返回这 10 个。(顺便说一句,为什么不支持文本?RFC 5194)
    • 我把它设计成协商是一个接口,我要转的每个媒体都必须实现它,所以添加新功能应该比较简单。顺便说一句,感谢您提醒我注意这一点,我可以通过 IP 传输其他内容吗?
    • 好吧,你不会通过 SIP 传输任何东西——它是一个信令协议——但你几乎可以用它来做任何事情。例如,有关于文件传输的 RFC。 IP 上的文本非常贴近我的心,因为它是我过去几年工作的主要重点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多