Для 1 я ничего не знаю о JMF, поэтому не могу ответить напрямую, но SDP на самом деле не является сложным стандартом, в отличие от SIP, поэтому создание пакета SDP не должно быть таким сложным.Минимум, необходимый для создания пакета SDP, - это кодеки, которые вы предлагаете, и IP-сокет, на котором вы принимаете RTP.
Для 2, как только вы получите ответ Ok, вы узнаете, что IP-сокетсервер агента пользователя SIP (UAS) прослушивает и принимает кодеки и может начать отправку вашего RTP.В то же время вы должны начать получать RTP от UAS, так как он начнет отправлять одновременно с отправкой Ok.Конечно, вам также нужно будет отправить запрос SIP ACK в ответ на ответ Ok, в противном случае некоторые UAS будут считать, что ответ не был получен, и через некоторое время вызов будет прерван.Если вы только начинаете писать свой собственный стек SIP, вам еще предстоит пройти долгий путь!
Для 3 - да, хотя под стационарными телефонами вы действительно подразумеваете шлюз SIP-PSTN (сторона PSTN будетчто-то вроде ISDN, SSL или аналога).Сторона SIP шлюза PSTN такая же, как и любой другой SAS UAS, и как только он примет запрос INVITE, он начнет отправлять RTP через сокет, указанный в запросе, и аналогично начнет прослушивать RTP в сокете, который он поместил в Ok.ответ, который будет отправлен обратно вашему SIP-клиенту.
Обновление
Теперь ... могу ли я создать экземпляр диалога с использованием SIP, а затем отправить клиентовинформацию от одного к другому и установить P2P между двумя компьютерами без посредников (UAS), а затем утилизировать сеанс SIP?
Ответ - да, но вы немного путаете терминологию,Установленный SIP-вызов называется сеансом и всегда находится между клиентским агентом пользователя (UAC) и сервером пользовательского агента (UAS).Предполагается, что каждый агент SIP может выступать в роли UAC или UAS, и основное различие между этими двумя ролями заключается в том, что UAC инициирует вызов, а UAS отвечает на него.Определенное устройство SIP будет выполнять роль UAC для вызовов, которые оно инициирует, и роль UAS для вызовов, на которые оно отвечает.
Почему это описание UAC и UAS имеет значение?Потому что все SIP-коммуникации одноранговые.SIP НЕ является протоколом клиент / сервер.Это одноранговый протокол.Теперь это сбивает с толку, потому что у вас есть провайдеры VoIP, которые работают с SIP Proxy Servers или SIP PSTN Gateways , которые создают впечатление, что SIP работает на модели клиент-сервер, но этоне.
Так что я думаю, что вопрос, который вы на самом деле хотите задать, заключается в том, может ли SIP-вызов между UAC-to-B2BUA-to-UAS (который фактически является двумя отдельными вызовами или сеансами SIP: UAC-to-UAS / UAC-to-UAS) позволяют носителям обходить B2BUA и вместо этого перемещаться непосредственно между UAC и UAS с обоих концов.Ответ на этот вопрос - да.В B2BUA, подобном Asterisk, есть опция конфигурации SIP, называемая canreinvite, которая, если задано значение yes, приведет к отправке повторных сообщений INVITE на любой конец вызова после получения ответа, чтобы поток RTP проходил непосредственно между конечными точками вызова, а не соединялся через себя.Конечно, если требуется перекодирование, запись или эквивалентная функция кодека, она не будет пытаться повторно ПРИГЛАСИТЬ.Другой подход - это традиционный подход SIP Proxy, такой как используемый OpenSER, когда он вообще не предназначен для объединения медиа и все вызовы через него всегда будут приводить к тому, что RTP будет находиться непосредственно между устройствами SIP на любом конце вызова.Работающий способ заключается в том, что OpenSER просто перенаправляет запрос, который он получает от UAC, через UAS, и кроме добавления и / или изменения дополнительного заголовка SIP или двух, запрос INVITE точно такой же, как если бы UAC отправил его непосредственно в UAS.
Все чисто, как грязь?Вот несколько ссылок для дальнейшего чтения, которые помогут вам.
Tech-invit - очень хорошие примеры сценариев SIP,
Примеры обслуживания протокола инициирования сеанса RFC5359 - больше примеров,
SIP Волшебство форумов - форум для публичной службы, на которой я работаю, которую посещают несколько человек, разбирающихся в вопросах SIP, если у вас есть более глубокие вопросы SIP.