Формирование заголовка Call-ID

Заголовок Call-ID – это уникальный идентификатор, объединяющий группу сообщений. Он должен совпадать для всех запросов и ответов, отправляемых любым из двух UA в процессе диалога. При создании нового диалога, заголовок Call-ID должен быть выбран UAC как уникальный идентификатор. Все SIP-агенты пользователя должны иметь средства, чтобы гарантировать, что Call-ID, созданный ими, не будет случайно генерирован другим UA.

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

Когда запросы отправляются повторно после получения ответа с кодом ошибки, требующего коррекции запроса, (например, запрос на предоставление отклика аутентификации), эти повторные запросы не рассматриваются как новые и они передаются со старым значением заголовка Call-ID.

Пример поля заголовка Call-ID:

Call-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@psuti.ru

Формирование заголовка CSeq

Поле заголовка CSeq (Sequence Command) служит средством для идентификации и упорядочивания транзакций в диалоге. Поле заголовка CSeq содержит порядковый номер и тип запроса. Для запросов вне диалога, кроме REGISTER, значение порядкового номера может быть произвольным. Величина порядкового номера выражается 32-разрядным целым числом и должна быть меньше, чем 231. Клиент может выбирать любой механизм для создания значений заголовка CSeq.

Пример поля заголовка CSeq:

CSeq: 456 INVITE


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: