SIP UAS请求选项

时间:2010-06-03 14:36:51

标签: media sip sdp

我有UAC注册到UAS,注册后UAS发给我一个OPTIONS请求,我该怎么回答呢?

只有音频媒体流?

更新我:

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

更新II:

嗨,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

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

谢谢, 亚当。

2 个答案:

答案 0 :(得分:5)

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

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

在我自己的SIP代理服务器上,我返回了一个不支持OPTIONS请求的405方法,并且从未产生任何副作用。

答案 1 :(得分:2)

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

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

了解详情:http://www.faqs.org/rfcs/rfc3261.html#ixzz0pnjJjKfl