错误:pjsip给出`mod_sofia`而不是实际的电话号码

时间:2012-01-09 15:03:28

标签: c pjsip freeswitch

我正在研究使用Sipek Voip连接到Freeswitch的项目。情况如下:

我有一个Sangoma A400硬。我为Windows编译了Freeswitch,现在它运行得很好 我还使用Sipek Voip SDK创建了一个Softphone,它与Freeswitch配合得很好。

问题在于,当我有来电时,而不是显示来电号码,我得到了mod_sofia。

我看了Sipek,它从pjsip得到的是一个包含<sip:mod_sofia@192.168.2.10:5060>的字符串。

所以我去了pjsip并尝试将实际的电话号码传递给Sipek。我发现有一个名为pjsua_call_on_incoming的函数可以处理来电。

它需要pjsip_rx_data类型的参数。它有一个字符串字段(rdata->msg_info.msg_buf),其中包含整个消息。我试图用实际数字替换<sip:mod_sofia@192.168.2.10:5060>,但它没有效果。

有没有人知道如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

您可以查看this link以查看问题。不幸的是,即使在论坛上也几乎没有人能够“免费”帮助你开源项目。我只是从个人经历中说出来。我面临着同样的问题,直到现在都无法弄明白,尽管我已经解决了许多我曾经面对SIPEK的问题,但这些都是我自己的问题。

答案 1 :(得分:0)

我不明白你问题的根源在FreeSWITCH或sipek / pjsip中。 FreeSWITCH wiki上的这个条目可以帮助你调试FreeSWITCH中的sip堆栈: http://wiki.freeswitch.org/wiki/Mod_sofia#Debugging_Sofia-SIP 以类似于wireshark捕获的方式。 对不起,我不知道如何帮助你追踪pjsip中msg_info.msg_buf的解析/渲染。

答案 2 :(得分:0)

在拨号字符串中添加sip_contact_user=xxxx