免费的SIP工具支持标头标准化

时间:2019-06-26 10:18:05

标签: sip sip-server

我正在寻找一个支持Header规范化的免费SIP软件。我的要求很简单:此工具从leg1接收INVITE消息,保存Contact标头和路由标头(这里可能是多路由标头),然后使用此Contact标头和这些路由标头之一将INVITE发送到leg2。

有人能推荐我一个免费且易于使用的工具吗?

谢谢, 交流电

1 个答案:

答案 0 :(得分:0)

osip2 SIP堆栈是LGPL许可的库,提供SIP解析器和用于修改SIP消息的API。它非常便携。

您可以there下载它。

当前用于正式osip 5.1.0的文档为there

这是解析SIP消息所需的最少代码:

#include <osip2/osip.h>
int i;
osip_t *osip;
i=osip_init(&osip);
if (i!=0)
  return -1;

osip_message_t *sip;
int i;
i=osip_message_init(&sip);
if (i!=0) { fprintf(stderr, "cannot allocate\n"); return -1; }
i=osip_message_parse(sip, buffer, length_of_buffer);
if (i!=0) { fprintf(stderr, "cannot parse sip message\n"); }
osip_message_free(sip);

有关解析器的更多信息,请参见here。您将能够访问SIP联系人标题,路由或任何其他标题并进行修改。然后,使用osip_message_to_str将其重建为字符串并发送。

注意:osip2不提供任何传输层。 osip2中还有一个“事务层管理”,您可以选择使用。使用起来更复杂。

注2:-我是作者...-