Бесплатный SIP инструмент нормализации заголовка - PullRequest
0 голосов
/ 26 июня 2019

Я ищу бесплатное программное обеспечение SIP, поддерживающее нормализацию заголовка.Мое требование простое: этот инструмент получает сообщение INVITE от leg1, сохраняет заголовок Contact и заголовки маршрута (может быть, здесь есть заголовки для нескольких маршрутов), а затем отправляет INVITE на leg2, используя этот заголовок Contact и один из этих заголовков маршрута.

Может ли кто-нибудь порекомендовать мне бесплатный и простой в использовании инструмент?

Спасибо, AC

1 Ответ

0 голосов
/ 27 июня 2019

Стек SIP osip2 - это лицензированная библиотека LGPL, предлагающая SIP-анализатор и API для изменения сообщений SIP. Это очень портативный.

Вы можете скачать его там .

Текущая документация, для официального osip 5.1.0 есть там .

Это минимальный код, необходимый для анализа 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);

Более подробную информацию о парсере можно найти здесь . Вы сможете получить доступ к заголовку SIP Contact, Route или любым другим заголовкам и изменить их. Затем используйте osip_message_to_str, чтобы перестроить его как строку и отправить.

ПРИМЕЧАНИЕ: osip2 не предлагает какой-либо транспортный уровень, оставленный вам. В osip2 также есть «управление уровнем транзакций», которое вы можете использовать по своему выбору. Его сложнее использовать.

ПРИМЕЧАНИЕ2: -Я автор ...-

...