【问题标题】:Free SIP tool support header normalization免费的 SIP 工具支持标头规范化
【发布时间】:2019-06-26 10:18:05
【问题描述】:

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

谁能给我推荐一个免费且易于使用的工具?

谢谢, 交流

【问题讨论】:

    标签: sip sip-server


    【解决方案1】:

    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:-我是作者...-

    【讨论】:

    • 感谢 AymericM,我会努力的 :)
    猜你喜欢
    • 2010-10-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多