Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

2. Основы SIP, SDP, RTP

Материал из Платформа Эра. Документации

В ходе выполнения заданий темы будут получены базовые навыки построения диаграмм вызова, сборки лог журналов для анализа и отправки их в техническую поддержку. Также будет получено представление о процессе выбора кодеков и некоторых способах обеспечения сервером обмена медиа-трафиком в нетривиальных условиях. Дополнительно будет получено представление о настройке устройств без регистрации и о настройке устройств, зарегистрированных под разными авторизационными данными.

Задание 2.1. Диаграмма вызова, лог-журналы

Логи. Трассировка. Диаграмма.

После завершения задания будут получены базовые навыки построения диаграмм вызова, сопоставления плеч диалогов (соединений), а также сборки лог-журналов для дальнейшего анализа или отправки в техническую поддержку.

Запустите tshark/wireshark на сервере.    
Совершите вызов, после короткого разговора завершите его и остановите сниффер.

1. Авторизуйтесь в рабочем домене. Откройте приложение Отчеты -> Разговоры -> Завершенные. 

  • Обнаружьте совершенный вызов. 
  • Постройте диаграмму. 
  • Исследуйте трассировку звонка по диаграмме. 

Обратите внимание, что у диаграммы есть скрытые SIP-пакеты (кликните на заголовке любого сообщения, содержащем время).   

  • Сохраните диаграмму из браузера, упакуйте в zip, затем откройте её в другом окне. Добейтесь, чтобы SIP-сообщения диаграммы открывались по клику.

Диаграмма строится на базе архива с лог-журналами.

  • Сопоставьте диаграмму со снятой с помощью сниффера трассировкой пакетов.
  • Попробуйте получить архив лог-журналов, относящихся к вызову, через API: /api/monitor/v1/trace/trn?mode=logs&callid=..., указав CallId любого плеча, принадлежащего цепочке вызовов. Например CallId первого SIP-сообщения в диаграмме.

2. ⁠Подключитесь к серверу по ftp/scp/ssh. 

  • В каталоге /opt/era*/log/b2b*/sip откройте лог-журнал trn.
  • Скачайте лог-журнал trn.
  • Обнаружьте в нем все сообщения, например по CallId первого SIP-сообщения в диаграмме. Это трейс одного плеча. 

3. Авторизуйтесь в мастер домене. Откройте приложение Настройки -> Система -> Лог журналы

  • Скачайте архив с лог-журналами с ролей sg, b2b. Это те же самые лог-журналы, что доступны в файловой системе.
  • Обнаружьте в лог-журнале trn микросервиса sg тот же CallId.
  • Обнаружьте оригинальный пакет INVITE, отправленный устройством, в логе sg.
  • Обнаружьте совпадающие пакеты (например, INVITE) в логах b2b и sg. SG отправляет - B2B получает, и наоборот.    

  4. Какие можно сделать выводы, используя SIP-трафик одного плеча, о параметрах другого плеча?

Задание 2.2. Транскодинг

Транскодинг

После завершения задания будет получено базовое представление о настройке кодеков и характере обмена SDP между устройствами в разных плечах диалога.

Настройте устройства таким образом, чтобы у них были разные непересекающиеся наборы кодеков (более 1 у каждого).    

1. ⁠Совершите внутренний вызов, постройте диаграмму.

  • Проанализируйте обмен SDP. 
  • Какие аудио-форматы предлагает устройство инициатора, и какие форматы поддерживает сервер в той же транзакции сообщением 200 ОК?
  • Какие аудио-форматы предлагает сервер вызываемому абоненту, и какие форматы поддерживает вызываемое устройство в той же транзакции сообщением 200 ОК? 

2. ⁠Измените конфигурацию, добавив в параметры микросервисов b2b несколько дополнительных кодеков (например "G722/8000", "G723/8000", "GSM/8000"

Справка. /configuration/roles/b2b.html

  • Совершите такой же внутренний вызов, постройте диаграмму.
  • Что поменялось в обмене аудио-форматами? 

3. ⁠Измените конфигурацию, установив в параметрах микросервисов b2b режим медиа-ответа с несколькими форматами (allow_ac_set). 

  • Совершите такой же внутренний вызов, постройте диаграмму. 
  • Что поменялось в обмене аудио-форматами?     

Задание 2.3*. Без регистрации

Учетная запись без регистрации

После выполнения будет получено базовое представление о характере работы устройств в режиме peer-to-peer и способе настройки.

  

1. Настройте телефон, отключив функцию регистрации.

2. Настройте учетную запись абонента для работы без регистрации

 Справка. /entities/uc/sipuser.html#devices

 Справка. Учетные записи без регистрации.

3. Совершите вызов с этого устройства. Совершите вызов на это устройство. Добейтесь работоспособности.

Если у используемых устройств не отключается режим без регистрации, то можно воспользоваться саморегистрацией с помощью учетной записи провайдера (тема 4).

Задание 2.4**. Устройство за NAT

Подключение через NAT

После завершения будет получено базовое представление о том, каким образом сервер преодолевает проблему взаимодействия с зарегистрированным устройством, находящимся за NAT.

1. Подключите устройство к серверу из-за NAT. Совершите входящий и исходящий вызовы. Есть звук?

2. Запустите tshark/wireshark на сервере и совершите вызов еще один раз.

3. Происследуйте и сравните, какие порты были в договоренностях между сервером и устройствами (на основании SDP), и какие порты использовались в реальности (трафик RTP).

Работа NAT в обратную сторону (когда сервер находится за NAT) возможна, однако требует глубоких знаний по работе сетей, настройки роутера, режима подмены адресов. В любом случае такая настройка сопряжена со сложностями и глубокой отладкой инженерами конкретного проекта.
В настоящее время это не является предметом рассмотрения.

 

Задание 2.5*. Разные авторизационные данные

Регистрация нескольких устройств с разными авторизационными данными

По результатам задания под одной учетной записью будет зарегистрировано несколько устройств с разными авторизационными данными. Это обеспечивает возможность отключения конкретного устройства, например, в случае утечки его авторизационных данных. Это в свою очередь позволяет не менять пароль сразу на всех устройствах. Регистрация нескольких устройств под одной учетной записью обеспечивает их одновременный вызов без использования групповых номеров (форкинг).

1. Добавьте к учетной записи абонента еще одну или несколько лицензий девайса (чтобы была возможность зарегистрировать несколько устройств). 

2. Настройте учетную запись абонента, добавив несколько новых отличающихся авторизационных данных (поле credentials)     

Справка. /entities/uc/sipuser.html#credentials   

3. ⁠Зарегистрируйте несколько устройств под этой одной учетной записью, но с разными авторизационными данными.

4. Убедитесь в приложении Настройки -> Мониторинг -> Абоненты, что оба устройства зарегистрированы и перечислены.

5. Совершите вызов на номер этого абонента. Оба устройства вызываются.

6. Удалите или измените дополнительно внесенные учетные данные в поле credentials.

7. Перезагрузите устройство (вручную или кликнув кнопку "Перезагрузить" в разделе Настройки -> Номерной план -> Абоненты).

8. Дождитесь регистрации. Устройство с дополнительными авторизационными данными не регистрируется.

9. Совершите вызов на номер этого абонента. Вызывается одно устройство.