我需要将SIP消息体的内容传递给C应用程序。例如,我将有一些SIP服务器(Kamailio或Asterisk或类似的东西)。当我收到一些SIP消息(例如打开PC)时,它将传递给C应用程序,它将GPIO值设置为1,这样PC就会打开。问题是从sip服务器获取消息到C应用程序。我不知道是否存在一些可以执行此操作的Asterisk或Kamailio的模块。
任何想法?非常感谢!
答案 0 :(得分:0)
Sip消息只是文本。
所以你用你的c应用程序解析它,或者使用kamailio内部逻辑和写模块(是的,kamailio在C / C ++中编写)。查看kamailio源以获取更多信息。
Asterisk没有处理sip消息,但你可以修补chan_sip来做soemthing或更改dialplan来执行外部应用程序/内部app(是的,也用c / c ++编写)
asterisk和kamailio都在拨号方案中执行EXEC以执行外部应用程序。