如何检测sip呼叫转发到服务器';是语音信箱吗?

如何检测sip呼叫转发到服务器';是语音信箱吗?,sip,pjsip,Sip,Pjsip,我正在使用Pjsip库来实现SIP。使用Pjsip库,我可以完美地进行IP调用。我的问题是,当我拨打电话时,如果其他终端用户拒绝/无法接通或没有应答,我的呼叫将通过语音邮件连接,并从sip服务器获得200k(呼叫连接状态),与其他终端用户应答呼叫相同。 无法到达的情况下,我可以通过丢失183个会话进度消息来区分200 ok。但是没有应答和拒绝案例,我无法获得呼叫的实际状态。 有没有办法找到呼叫连接状态和语音邮件连接状态 没有任何一种方式可以让用户代理知道它已到达语音邮件服务器,而不是让人应答 通

我正在使用Pjsip库来实现SIP。使用Pjsip库,我可以完美地进行IP调用。我的问题是,当我拨打电话时,如果其他终端用户拒绝/无法接通或没有应答,我的呼叫将通过语音邮件连接,并从sip服务器获得200k(呼叫连接状态),与其他终端用户应答呼叫相同。
无法到达的情况下,我可以通过丢失183个会话进度消息来区分200 ok。但是没有应答和拒绝案例,我无法获得呼叫的实际状态。

有没有办法找到呼叫连接状态和语音邮件连接状态

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

通常情况下,您的用户代理将向From URI发送邀请,负责该URI的代理将把邀请转发给远程方使用的各种用户代理:她的电话、语音邮件服务等等。第一个返回2xx响应的用户代理设置调用

但是,在200 OK的
Contact
标题中,您将始终知道已连接到哪个用户代理


语音邮件服务器可能会在其SDP提供/应答中指出,虽然它接受某些传入的媒体流,但它不会发送任何内容,方法是将流标记为
a=recvonly
属性(请参阅)

谢谢弗兰克·希拉尔,很抱歉我有这么愚蠢的疑问。我已经用Wireshark检查了200 ok消息。在200 ok SDP中,没有这样的属性“a=recvonly”。我是否应该在@my invite SDP???
a=recvonly
中添加任何内容不是必需的属性。如果有语音邮件服务器就好了