SIP и Java, с чего начать и с чем?
Я хочу реализовать протокол SIP в java и хотел бы иметь возможность создавать разные клиенты (5 или более) и заставлять их подключаться к прокси-серверу. Это все для целей тестирования, поэтому я хотел бы хорошо видеть, что происходит на довольно низком уровне.
Сначала клиенты должны иметь возможность связываться с текстом, а затем, возможно, также через аудио. (Если я когда-либо доберусь до этого)
Я уже немного читал о библиотеках JAIN, и я понял, что они не очень хорошо подходят для серверной части? Я также не нашел примеров прокси-сервера, обучающих программ, используя JAIN.
Я также нашел эту SIP книгу для сервлета, я использовал HTTP-сервлеты в прошлом, но должен ли я использовать сервлеты или JAIN или...?
Я очень новичок в SIP, поэтому я не знаю, с чего начать или что выбрать в сочетании с java.
Ответы
Ответ 1
Если намерение состоит в том, чтобы включить ваш SIP-стек в производственное приложение, то мой совет вам будет делать все возможное, чтобы избежать написания собственного с нуля. Не преувеличением сказать, что вам понадобится много лет, чтобы обеспечить бесперебойную работу вашего стека со всеми различными устройствами и серверами SIP. Если у вас очень узкий набор требований к интеграции, возможно, вы могли бы сделать это быстрее, но это все равно было бы большим делом.
Вот хороший список доступных SIP-стеков. Если, с другой стороны, вы решите реализовать свой собственный старт, просмотрев SIP-список RFC. RFC 3261 - это спецификация основного протокола, но она была обновлена рядом других RFC, поэтому вам нужно будет реализовать как минимум полдюжины просто для основных функций SIP. После этого, если вы хотите поддерживать такие вещи, как переводы, присутствие, ожидание сообщения и т.д., Тогда это еще больше RFC для реализации. Вот этот список SIP стеки снова.
Ответ 2
Платформа Sip Servlets поможет вам создавать конвергентные приложения, то есть приложения HTTP и SIP. Пользовательское устройство Sip будет взаимодействовать с приложением Sip Servlet. Приложение Sip Servlet может быть, например, B2BUA или прокси-сервером SIP.
Я бы предложил вам попробовать Mobicents Sip Servlet, который является полноценной платформой Sip Servlet поверх Java Servlets, сертифицированной по спецификации JSR289 и используя Jain Sip для SIP-стека.
В проекте есть активное сообщество, и вы найдете полезные примеры для начала.
Выбирая платформу для начала работы, вы можете сосредоточиться на бизнес-логике, и вам не нужно возиться с деталями