Changeset 1491 in sip_ua

Timestamp:
Nov 29, 2018, 5:45:41 PM (5 years ago)
Author:
alx
Message:

Исправлена ошибка: если во время транзакции INVITE (например во время ожидания
ответа вызываемого абонента) происходит новая транзакция в этом же диалоге
(например это может быть транзакция PRACK), поле tid в CallData обновляется и
содержит вместо идентификатора транзакции INVITE идентификатор новой транзакции.
В результате когда абонент отвечает, UA не может послать ответ "200 OK", так как
tid содержит идентификатор совсем другой, уже завершенной транзакции.
Теперь tid в CallData обновляется только в том случае, если сообщение принадлежит
транзакции INVITE. Функции ua_response_status() добавлен параметр tid, по
умолчанию равный нулю, позволяющий при необходимости послать ответ не-INVITE
транзакции указать TID этой транзакции. Если равен нулю, ответ посылается
транзакции ca->tid, как это и было раньше.

(No files)

Note: See TracChangeset for help on using the changeset viewer.