2015-05-14 97 views
1

我想有可能阻止某些基于呼叫者ID的SIP来电。SIP Linux客户端阻止不需要的呼叫

我的想法到目前为止是有一个sip客户端的linux盒子,当recive调用(INVITE)它只是检查列表中的调用者id,如果在列表中它挂断(BYE)。没有语音不需要媒体流,只需注册到SIP服务器并挂断即可。

任何想法或任何软件已经这样做? 你会如何建议这样做? (约瑟夫,SIPP,exosip ...)

谢谢你, DK

PS:我有SIP服务器不能访问了,我不能有像星号SIP代理/服务器块对我的呼吁,我可以有一个客户。

回答

1

您可以使用re sip library创建一个非常基本的SIP客户端。请检查链接中的代码以获取基本的SIP客户端。 http://pastebin.com/4uDWQf1B

要阻止某个caller_id,请使用connect_handler函数中的以下代码。

if(!pl_strcmp(&msg->from.uri.user,"your_caller_id")){ 
    (void)sip_treply(NULL, sip, msg, 486, "Busy Here"); 
    return; 
} 
+0

谢谢您的回复,我不知道这个库,同时我尝试了pjsip。这似乎很好,我正在修改call.py python示例..到目前为止,它似乎很好。 – d82k