[Freeswitch-users] internal transfer decreases Max-Forward channel counter
mike at jerris.com
Tue Apr 29 01:21:05 MSD 2014
Yes it should always decrease the max_forwards, otherwise it wouldn't provide useful loop detection. This is why the rfc recommends 70 as the default value.
The Max-Forwards header field serves to limit the number of hops a
request can transit on the way to its destination. It consists of an
integer that is decremented by one at each hop. If the Max-Forwards
value reaches 0 before the request reaches its destination, it will
be rejected with a 483(Too Many Hops) error response.
A UAC MUST insert a Max-Forwards header field into each request it
originates with a value that SHOULD be 70. This number was chosen to
be sufficiently large to guarantee that a request would not be
dropped in any SIP network when there were no loops, but not so large
as to consume proxy resources when a loop does occur. Lower values
should be used with caution and only in networks where topologies are
known by the UA.
On Apr 28, 2014, at 5:13 PM, Rafael Kaihatu <rafael.kaihatu at 8x8.com> wrote:
> issue description:
> inbound call arrives with Max-Forwards set to 9 (or some low value), after the 9th internal transfer (it executes the transfer command, but the call doesnt leave the freeswitch instance), the call is dropped.
> I am using a few transfers to "route the call", and then another few to "put the call on hold and play Music on Hold", eventually I need to execute more than 9.
> should the switch_ivr_session_transfer function (./src/switch_ivr.c:1716 - v1.2) always decrease the SWITCH_MAX_FORWARDS_VARIABLE channel variable ?
> is there a way to disable this ?
-------------- next part --------------
An HTML attachment was scrubbed...
Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-users