如何将SIP消息的内容传递给C应用程序

时间:2014-10-07 18:01:14

标签: c message sip asterisk kamailio

我需要将SIP消息体的内容传递给C应用程序。例如,我将有一些SIP服务器(Kamailio或Asterisk或类似的东西)。当我收到一些SIP消息(例如打开PC)时,它将传递给C应用程序,它将GPIO值设置为1,这样PC就会打开。问题是从sip服务器获取消息到C应用程序。我不知道是否存在一些可以执行此操作的Asterisk或Kamailio的模块。

任何想法?非常感谢!

1 个答案:

答案 0 :(得分:0)

Sip消息只是文本。

所以你用你的c应用程序解析它,或者使用kamailio内部逻辑和写模块(是的,kamailio在C / C ++中编写)。查看kamailio源以获取更多信息。

Asterisk没有处理sip消息,但你可以修补chan_sip来做soemthing或更改dialplan来执行外部应用程序/内部app(是的,也用c / c ++编写)

asterisk和kamailio都在拨号方案中执行EXEC以执行外部应用程序。