Hi Hamid,

When there is an internal timeout, what happens is:
1) Opensips sends CANCEL to callee
2) OpenSIPS generates and internal 408 reply for that branch, reply that you can see in failure route 3) the received 487 from callee is absorbed by OpenSIPS (as a 408 was already generated).

So, if you do not do anything in failure route (like creating a new branch or sending your own reply back to callee), the 408 will be sent to caller.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 12.02.2015 08:30, Hamid Hashmi wrote:
Its my mistake :p

fr_inv_timer timeout sends CANCEL to Callee *NOT* to Caller. But my call terminated due to response 487 came from Callee. I just droped the response 487 in onreply_route and its working for me. Is it a good practice ?

Regards
Hamid R. Hashmi

------------------------------------------------------------------------
Date: Wed, 11 Feb 2015 22:19:21 +0200
From: [email protected]
To: [email protected]; [email protected]
Subject: Re: [OpenSIPS-Users] How to customize response on fr_inv_timer

Hi Hamid,

If you catch the 408 reply in failure route and create a new branch (to divert to another GW), there will be nothing sent back to UAC (caller) to inform about this timeout event.

Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 10.02.2015 10:17, Hamid Hashmi wrote:

    Hello,

    On fr_ivr_timer timeout opensips1.11 sends CANCEL to Caller and I
    handle the timout in failure route by 408 sip response. May I
    change method CANCEL to some other response that can indicate a
    caller (UAC) that call is now diverting to another gateway so that
    Caller can wait more.


    failure_route[1]{
    .
    .
    .

        if (t_check_status("408")) {
    .
    .
    .
                     if ( t_local_replied("last") ) {
                            # timeout with replies received ->
    fr_inv_timer
                            xlog("L_NOTICE", "[$pr:$fU@$si:$sp]:
    Timeout on RING timer for '$rm' from '$fu' to '$ru' after
    '$avp(5)' seconds \n");
    route(failover);
                       }
        }
    .
    .
    .
    }

    Call failoverd to route[failover] but CANCELED due to fr_ivr_timer
    timout because it send CANCEL to Caller.

    Any solution ?


    Regards
    Hamid R. Hashmi


    _______________________________________________
    Users mailing list
    [email protected]  <mailto:[email protected]>
    http://lists.opensips.org/cgi-bin/mailman/listinfo/users




_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to