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

2. Основы SIP, SDP, RTP: различия между версиями

Материал из Платформа Эра. Документации
Новая страница: «Категория:Курс IP АТС»
 
Нет описания правки
Строка 1: Строка 1:
В ходе выполнения заданий темы будут получены базовые навыки построения диаграмм вызова, сборки лог журналов для анализа и отправки их в техническую поддержку. Также будет получено представление о процессе выбора кодеков и некоторых способах обеспечения сервером обмена медиа-трафиком в нетривиальных условиях. Дополнительно будет получено представление о настройке устройств без регистрации и о настройке устройств, зарегистрированных под разными авторизационными данными.
Задание 2.1. Диаграмма вызова, лог-журналы
<span id="логи.-трассировка.-диаграмма."></span>
=== Логи. Трассировка. Диаграмма. ===
После завершения задания будут получены базовые навыки построения диаграмм вызова, сопоставления плеч диалогов (соединений), а также сборки лог-журналов для дальнейшего анализа или отправки в техническую поддержку.
Запустите tshark/wireshark на сервере.    <br />
Совершите вызов, после короткого разговора завершите его и остановите сниффер.
1. Авторизуйтесь в рабочем домене. Откройте приложение ''Отчеты -&gt; Разговоры -&gt; Завершенные.'' 
* Обнаружьте совершенный вызов. 
* Постройте диаграмму. 
* Исследуйте трассировку звонка по диаграмме. 
''Обратите внимание, что у диаграммы есть скрытые SIP-пакеты (кликните на заголовке любого сообщения, содержащем время).   ''
* Сохраните диаграмму из браузера, упакуйте в zip, затем откройте её в другом окне. Добейтесь, чтобы SIP-сообщения диаграммы открывались по клику.
''Диаграмма строится на базе архива с лог-журналами.''
* Сопоставьте диаграмму со снятой с помощью сниффера трассировкой пакетов.
* Попробуйте получить архив лог-журналов, относящихся к вызову, через API'': /api/monitor/v1/trace/trn?mode=logs&amp;callid=...'', указав CallId любого плеча, принадлежащего цепочке вызовов. ''Например CallId первого SIP-сообщения в диаграмме.''
2. ⁠Подключитесь к серверу по ftp/scp/ssh. 
* В каталоге ''/opt/era*/log/b2b*/sip'' откройте лог-журнал ''trn''.
* Скачайте лог-журнал ''trn''.
* Обнаружьте в нем все сообщения, например по CallId первого SIP-сообщения в диаграмме. Это трейс одного плеча. 
3. Авторизуйтесь в мастер домене. Откройте приложение ''Настройки -&gt;'' ''Система -&gt; Лог журналы''. 
* Скачайте архив с лог-журналами с ролей ''sg'', ''b2b''. Это те же самые лог-журналы, что доступны в файловой системе.
* Обнаружьте в лог-журнале trn микросервиса ''sg'' тот же CallId.
* Обнаружьте оригинальный пакет INVITE, отправленный устройством, в логе ''sg''.
* Обнаружьте совпадающие пакеты (''например, INVITE'') в логах ''b2b'' и ''sg''. ''SG отправляет - B2B получает, и наоборот.    ''
  4. Какие можно сделать выводы, используя SIP-трафик одного плеча, о параметрах другого плеча?
Задание 2.2. Транскодинг
<span id="транскодинг"></span>
=== Транскодинг ===
После завершения задания будет получено базовое представление о настройке кодеков и характере обмена SDP между устройствами в разных плечах диалога.
Настройте устройства таким образом, чтобы у них были разные непересекающиеся наборы кодеков (''более 1 у каждого'').    
1. ⁠Совершите внутренний вызов, постройте диаграмму.
* Проанализируйте обмен SDP. 
* Какие аудио-форматы предлагает устройство инициатора, и какие форматы поддерживает сервер в той же транзакции сообщением 200 ОК?
* Какие аудио-форматы предлагает сервер вызываемому абоненту, и какие форматы поддерживает вызываемое устройство в той же транзакции сообщением 200 ОК? 
2. ⁠Измените конфигурацию, добавив в параметры микросервисов ''b2b'' несколько дополнительных кодеков (''например &quot;G722/8000&quot;, &quot;G723/8000&quot;, &quot;GSM/8000&quot;'') 
Справка. [http://vendor.era-platform.ru/docs/era/latest/configuration/roles/b2b.html /configuration/roles/b2b.html]
* Совершите такой же внутренний вызов, постройте диаграмму.
* Что поменялось в обмене аудио-форматами? 
3. ⁠Измените конфигурацию, установив в параметрах микросервисов ''b2b'' режим медиа-ответа с несколькими форматами (''allow_ac_set''). 
* Совершите такой же внутренний вызов, постройте диаграмму. 
* Что поменялось в обмене аудио-форматами?     
Задание 2.3*. Без регистрации
<span id="учетная-запись-без-регистрации"></span>
=== Учетная запись без регистрации ===
После выполнения будет получено базовое представление о характере работы устройств в режиме peer-to-peer и способе настройки.
  
1. Настройте телефон, отключив функцию регистрации.
2. Настройте учетную запись абонента для работы без регистрации
 Справка. [http://vendor.era-platform.ru/docs/era/latest/entities/uc/sipuser.html#devices /entities/uc/sipuser.html#devices]
 Справка. Учетные записи без регистрации.
3. Совершите вызов с этого устройства. Совершите вызов на это устройство. Добейтесь работоспособности.
Если у используемых устройств не отключается режим без регистрации, то можно воспользоваться саморегистрацией с помощью учетной записи провайдера (тема 4).
Задание 2.4**. Устройство за NAT
<span id="подключение-через-nat"></span>
=== Подключение через NAT ===
После завершения будет получено базовое представление о том, каким образом сервер преодолевает проблему взаимодействия с зарегистрированным устройством, находящимся за NAT.
1. Подключите устройство к серверу из-за NAT. Совершите входящий и исходящий вызовы. ''Есть звук?''
2. Запустите tshark/wireshark на сервере и совершите вызов еще один раз.
3. Происследуйте и сравните, какие порты были в договоренностях между сервером и устройствами (''на основании SDP''), и какие порты использовались в реальности (''трафик RTP'').
Работа NAT в обратную сторону (когда сервер находится за NAT) возможна, однако требует глубоких знаний по работе сетей, настройки роутера, режима подмены адресов. В любом случае такая настройка сопряжена со сложностями и глубокой отладкой инженерами конкретного проекта.<br />
В настоящее время это не является предметом рассмотрения.
 
Задание 2.5*. Разные авторизационные данные
<span id="регистрация-нескольких-устройств-с-разными-авторизационными-данными"></span>
=== Регистрация нескольких устройств с разными авторизационными данными ===
По результатам задания под одной учетной записью будет зарегистрировано несколько устройств с разными авторизационными данными. Это обеспечивает возможность отключения конкретного устройства, например, в случае утечки его авторизационных данных. Это в свою очередь позволяет не менять пароль сразу на всех устройствах. Регистрация нескольких устройств под одной учетной записью обеспечивает их одновременный вызов без использования групповых номеров (форкинг).
1. Добавьте к учетной записи абонента еще одну или несколько лицензий девайса (''чтобы была возможность зарегистрировать несколько устройств''). 
2. Настройте учетную запись абонента, добавив несколько новых отличающихся авторизационных данных (''поле credentials'')     
Справка. [http://vendor.era-platform.ru/docs/era/latest/entities/uc/sipuser.html#credentials /entities/uc/sipuser.html#credentials]   
3. ⁠Зарегистрируйте несколько устройств под этой одной учетной записью, но с разными авторизационными данными.
4. Убедитесь в приложении ''Настройки -&gt; Мониторинг -&gt; Абоненты'', что оба устройства зарегистрированы и перечислены.
5. Совершите вызов на номер этого абонента. ''Оба устройства вызываются''.
6. Удалите или измените дополнительно внесенные учетные данные в поле credentials.
7. Перезагрузите устройство (''вручную или кликнув кнопку &quot;Перезагрузить&quot; в разделе Настройки -&gt; Номерной план -&gt; Абоненты'').
8. Дождитесь регистрации. Устройство с дополнительными авторизационными данными не регистрируется.
9. Совершите вызов на номер этого абонента. ''Вызывается одно устройство''.
[[Категория:Курс IP АТС]]
[[Категория:Курс IP АТС]]

Версия от 15:29, 9 декабря 2024

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

Задание 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. Совершите вызов на номер этого абонента. Вызывается одно устройство.