Opened 8 years ago

Closed 7 years ago

#193 closed баг (fixed)

Сохранять key material при REINVITE

Reported by: alx Owned by: alx
Priority: средний Milestone: 1 очередь
Component: any Keywords:
Cc:

Description

Сейчас при использовании SRTP key material генерируется при каждом обмене SDP. Таким образом, если сначала на INVITE был передан ответ "180 Session progress" с SDP и ключом, то в последующем "200 OK" будет другой ключ, а при передаче REINVITE будет передан третий ключ. Получение нового ключа каждый раз приводит к необходимости пересоздавать канал, что дает ощутимую на слух паузу.

Предлагается при генерации ключа запонимать его в данных сессии, и при отправке последующих SDP использовать имеющийся ключ вместо генерации нового. Одновременно с этим в setRTPparams() необходимо проверять, изменились ли ключи, и если ключи не менялись, повторный вызов srtp_setup() не делать.

Change History (2)

comment:1 by alx, 7 years ago

Milestone: 2 очередь1 очередь

comment:2 by alx, 7 years ago

Resolution: fixed
Status: newclosed

In 1110/sip_ua:

Выбранный crypto_suit и ключ теперь запоминается в данных вызова. При REINVITE и при
ответах на предложение SDP той же сессии используется уже имеющийся ключ.
В setRTPparams() добавлена проверка на изменение параметров шифрования, и если они
не менялись, то вызов srtp_setup() не производится. Closes #193,#199.

Note: See TracTickets for help on using tickets.