3

我使用 Microsoft Unified Communications 和 c# 开发软件。我使用 IMVoipSample 作为代码库。作为 voip 后端,我使用星号。一切都很好,我可以注册、拨打电话、接听/拒绝来电。有一件事我无法解决。

当我拨打第 3 方软电话时,它会得到一个答案:

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

但是当我拨打我的 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

我有一个三星officeserv pbx,它连接到星号,我可以拨打软电话,反之亦然。但是拨打软电话和我的 IMVoipSample 电话的音频区别在于没有正常的连接蜂鸣声,只有静音。我想这是因为“尝试 100 次”而不是“180 次漂洗”。所以问题是:我是否需要在客户端设置额外的振铃信号?

4

2 回答 2

8

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

如果您的软件电话软件仅生成 100 Trying 响应而不是随后的 180 Ringing 响应,那么我猜您错过了一步。至少,如果软件电话有问题并且由于没有什么可以响铃而无法生成响铃响应,它应该生成 4xx 错误响应。

于 2011-03-22T05:24:35.487 回答
0

好吧,我通过在星号的 sip.conf 中显式添加振铃解决了我的问题

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

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

于 2011-03-22T08:54:48.173 回答