SIP (Softphone) и PSTN (Старый телефон) — это разные сети, говорящие на разных языках. Поэтому нам нужен переводчик (шлюз здесь) для связи между этими двумя сетями.
Давайте рассмотрим пример, показывающий, как SIP-телефон выполняет телефонный звонок в PSTN через шлюз PSTN.
В этом примере Tom (sip: [email protected]) — это sip-телефон, а Джерри использует глобальный телефонный номер +91401234567.
SIP к PSTN через шлюзы
На следующем рисунке показан поток вызовов из SIP в PSTN через шлюзы.
Ниже приведено пошаговое объяснение всего процесса, который происходит при звонке с SIP-телефона на PSTN.
Прежде всего, (Том) SIP-телефон набирает глобальный номер +91401234567, чтобы связаться с Джерри. Пользовательский агент SIP понимает его как глобальный номер и преобразует его в request-uri, используя DNS, и инициирует запрос.
SIP-телефон отправляет сообщение INVITE непосредственно на шлюз.
Шлюз инициирует вызов в PSTN путем выбора магистрали ISUP SS7 к следующему телефонному коммутатору в PSTN.
Набранные цифры из INVITE отображаются в IAM ISUP. PSTN отправляет сообщение о завершении адреса ISUP (ACM), чтобы указать, что транк был создан.
Телефон генерирует мелодию звонка и переходит на телефонный коммутатор. Шлюз отображает ACM в ответ 183 Session Progress, содержащий SDP, указывающий порт RTP, который шлюз будет использовать для соединения аудио из PSTN.
После приема 183 UAC вызывающего абонента начинает получать пакеты RTP, отправленные со шлюза, и представляет вызывающему абоненту аудиосигнал, чтобы они знали, что вызываемый абонент прогрессирует в PSTN.
Вызов завершается, когда вызываемый абонент отвечает на телефон, что заставляет телефонный коммутатор отправить ответное сообщение (ANM) на шлюз.
Затем шлюз прерывает аудио соединение PSTN в обоих направлениях и отправляет вызывающему ответ 200 OK. Поскольку тракт мультимедиа RTP уже установлен, шлюз отвечает на SDP в 183, но не вызывает изменений в соединении RTP.
UAC отправляет ACK для завершения обмена сигналами SIP. Поскольку в ISUP нет эквивалентного сообщения, шлюз поглощает ACK.
Вызывающий отправляет BYE к шлюзу для завершения. Шлюз отображает BYE в сообщение об освобождении ISUP (REL).
Шлюз отправляет 200OK в BYE и получает RLC от PSTN.