如何检测sip呼叫转发到服务器的语音邮件?

时间:2012-12-21 09:54:20

标签: sip pjsip

使用Pjsip库进行SIP实施。使用Pjsip lib我可以完美地进行IP调用。我的问题是当我拨打电话时,如果其他最终用户拒绝/无法接通或无应答,我的呼叫将连接语音邮件并从SIP服务器获得200k(呼叫连接状态),就像其他最终用户接听电话一样。
    无法访问案例我可以区分200 ok缺少183会话进度消息。但是没有问题和拒绝案件,我无法得到实际的通话状态      是否有办法找到呼叫连接状态和语音邮件连接状态?

1 个答案:

答案 0 :(得分:1)

没有任何一种方式可以让用户代理知道它已经到达语音邮件服务器而不是应答的人。

通常情况下,您的用户代理会将INVITE发送到From URI,而负责该URI的代理会将INVITE分配给远程方使用的各种用户代理:她的电话,她的语音邮件服务和等等。返回2xx响应的第一个用户代理设置呼叫。

但是,您将始终知道您已连接的用户代理,位于200 OK的Contact标题中。

据推测,语音邮件服务器会在其SDP提供/回答中指出,当它接受某些传入媒体流时,它将不会发送任何内容,方法是使用a=recvonly属性标记该流(请参阅RFC 3264) 。