sip“;“100次尝试”;而不是",;“180响”;

sip“;“100次尝试”;而不是",;“180响”;,sip,asterisk,uccapi,Sip,Asterisk,Uccapi,我使用Microsoft统一通信和c#开发了一个软件。我使用IMVoipSample作为代码库。作为voip后端,我使用星号。一切正常,我可以注册、拨打电话、接听/拒绝来电。有一件事我无法解决 当我打电话给第三方软电话时,有一个答案: SIP/2.0 180 Ringing Via: SIP/2.0/UDP 192.168.250.29:5060;branch=z9hG4bK786d156c;rport=5060 Contact: <sip:6011@192.168.246.203:451

我使用Microsoft统一通信和c#开发了一个软件。我使用IMVoipSample作为代码库。作为voip后端,我使用星号。一切正常,我可以注册、拨打电话、接听/拒绝来电。有一件事我无法解决

当我打电话给第三方软电话时,有一个答案:

SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.250.29:5060;branch=z9hG4bK786d156c;rport=5060
Contact: <sip:6011@192.168.246.203:45134;rinstance=7af05ded7e7e49e6>
To: <sip:6011@192.168.246.203:45134;rinstance=7af05ded7e7e49e6>;tag=9a00d038
From: "6012"<sip:6012@192.168.250.29>;tag=as66995cd4
Call-ID: 7cebe5d1060b11452571a22e0e2cb919@192.168.250.29
CSeq: 102 INVITE
User-Agent: X-Lite release 1002tx stamp 29712
Content-Length: 0
SIP/2.0 180铃声
Via:SIP/2.0/UDP 192.168.250.29:5060;分支=z9hG4bK786d156c;rport=5060
联系人:
致:;标签=9A000D038
从:“6012”;标签=as66995cd4
呼叫ID:7cebe5d1060b11452571a22e0e2cb919@192.168.250.29
CSeq:102邀请
用户代理:X-Lite发行1002tx邮票29712
内容长度:0
但当我打电话给我的IMVoipSample手机时,会有一个回答:

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.246.203:45134;branch=z9hG4bK-d87543-71570d1c6127bc7a-1--d87543-;received=192.168.246.203;rport=45134
From: "6011"<sip:6011@192.168.250.29>;tag=18345648
To: "6012"<sip:6012@192.168.250.29>
Call-ID: fd7f305d6520cd53YjQ2ZDJmMDAwZDE0YmUwMjRlMGFmM2NmODg5OGM1ODQ.
CSeq: 2 INVITE
Server: Asterisk PBX 1.6.2.9-2
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:6012@192.168.250.29>
Content-Length: 0
SIP/2.0
Via:SIP/2.0/UDP 192.168.246.203:45134;分支=z9hG4bK-d87543-71570d1c6127bc7a-1--d87543-;已接收=192.168.246.203;rport=45134
从:“6011”;标签=18345648
致:“6012”
呼叫ID:fd7f305d6520cd53YjQ2ZDJmMDAwZDE0YmUwMjRlMGFmM2NmODg5OGM1ODQ。
CSeq:2邀请
服务器:星号PBX 1.6.2.9-2
允许:邀请、确认、取消、选项、再见、推荐、订阅、通知、信息
支持:替换、定时器
联系人:
内容长度:0
我有一个三星officeserv pbx,它连接到asterisk,我可以打电话给软电话和vice verca。但打电话给softphone和我的IMVoipSample手机的音频区别在于没有正常的连接蜂鸣音,只有静音。我想是因为“试了100次”而不是 “180圈”。 因此,问题是:
是否需要在客户端设置额外的振铃信号?

1xx响应是信息性响应,在100次尝试的情况下是可选的。SIP用户代理服务器(UAS)通常在收到INVITE请求时立即响应100次尝试响应,以让用户代理客户端(UAC)知道他们正在处理请求并避免重新传输。稍后,他们将以180响或183次会话进度跟随100次尝试响应。一旦有人或某事接听电话,需要发送2xx响应,通常为200 Ok


如果您的软电话软件仅生成100次尝试响应,而不是随后的180次响铃响应,那么我猜您错过了一步。至少,如果软电话有问题,无法生成响铃响应,因为没有响铃,它应该生成4xx错误响应。

好吧,我通过在asterisk的sip.conf中添加响铃来解决我的问题

exten => _6.,1,Ringing
exten => _6.,n,Dial(SIP/${EXTEN:0}).

但是@sipwiz给出了问题根源的详细描述

是否“180铃声”只是一个标题?它是否需要真正传输蜂鸣音?180振铃是一种响应状态代码。它对于SIP响应是必需的,但不是标头。就嘟嘟声而言,SIP层没有参与产生嘟嘟声。在180响应的情况下,接收该响应的设备负责生成进度音。在183会话进度响应的情况下,被叫设备向主叫设备发起早期媒体RTP流,并播放任何音频以指示进度。有趣。第三方softphone和IMVoipSample是否使用同一帐户在同一台机器上运行?只是好奇。星号在没有响铃的情况下将无法继续。尝试在
sip.conf
中使用
progressinband
参数,看看它是如何工作的。是的,它们在同一台机器上工作,而且出于测试目的,一台机器上有两个第三方软电话。他们也使用不同的帐户。我还尝试使用progressinband参数。这对我来说无关紧要。${EXTEN:0}与${EXTEN}相同。此外,您在使用这种方法时也应小心,因为无论被叫设备如何响应,您都会收到响铃指示。例如,如果被呼叫的设备无法访问或脱机,则呼叫方仍将收到错误的振铃指示。一般来说,建议不要使用带有星号的人工响铃指示。好吧,谢谢你指出${EXTEN},我不知道。我打电话给未登录的应用程序,发现“SIP/2.0 503服务不可用”。看来还可以