Попытка определить правильное поведение в этом сценарии.SIP B2BUA отправляет приглашение в SBC, SBC отвечает 200 OK, но перед получением ACK SBC отправляет повторное приглашение для изменения SDP, на которое B2BUA отвечает 500 Race Condition.
Поток вызовов:
Client B2BUA SBC
| Invite -> | |
| | Invite -> |
| | <- 200 OK |
| <- 200 OK | |
| | |
| | <- re-Invite |
| | 500 Race -> |
| | |
В RFC3261 я не могу найти никаких ссылок, что необходимо ждать ACK.В разделе 14.1 я вижу ссылку:
2. If there is an ongoing INVITE server transaction, the TU MUST
wait until the transaction reaches the confirmed or terminated
state before initiating the new INVITE.
Глядя на диаграмму транзакций сервера INVITE, кажется, что 200 OK перевел транзакцию сервера в завершенное состояние, но я не уверен, что этоправильный контекст для этого сценария.
Должен ли SBC ждать ACK перед отправкой повторного приглашения, или B2BUA должен принять повторное приглашение?