At 08:21 PM 11/6/2003, Ricardo Villa wrote:
Hi,
The manual explains that we can use "t_on_failure" and
"failure_route"
primitives to route a SIP request to another destination if the original
destination does not answer. It is very clear to me how this would work for
an INVITE message which receives a confirmation from the far end (like
"Trying"). But when the call is established, the originating party sends
an ACK message which is not supposed to receive a reply. How does SER know
where to send this ACK to?? Does it again try the first destination? If so
then the message will be lost.
SER does not generate the ACK for a 200 -- UAC does. The ACK is (unless
record-routing is deployed) send directly to UAS. That's how SIP works.
And how about INFO messages (like those used to send
DTMF tones). Lets say
a call is established to a backup gateway using "failure_route". Then the
user sends a DTMF tone as an INFO message (maybe he called an IVR). How
does SER know that this INFO message must go to the backup gateway? If SER
tries the main gateway first for every single DTMF digit pressed then this
is not going to work properly.
Any follow-up requests either travel directly or follow record-routing
logic. Strictly speaking, they follow dialog rules and a proxy server
is not supposed to determine their routing on its own.
BTW -- DTMF over INFO is proprietary. There is no standard for it, Cisco
gateways do so nevertheless.
-jiri