[Spce-user] SIP-Response INJECTION
Klaus Peter v. Friedeburg
friedeburg at aco.de
Wed Nov 21 10:28:37 EST 2012
Hi Jon,
I have insert the following lines in the main route section of LB and it seems to work, no further more 181 coming from the PSTN-gateway:
# Hack for 100rel and PRACK problem on ZYXEL P-2601 CPE
if ( search_hf("User-Agent", "ZyXEL P-2601HN-F3 V3.11-UTR.0-_120718", "a") )
{
# Forgive me!
if(is_present_hf("Supported") | is_present_hf("Allow"))
{
xlog("L_INFO", "Perform ZYXEL-100rel-PRACK-HACK - R=$ru ID=$ci\n");
replace_all('PRACK,', "");
replace_all('PRACK;', "");
replace_all('PRACK', "");
replace_all('100rel,', "");
replace_all('100rel;', "");
replace_all('100rel', "");
}
}
Klaus Peter
> -----Ursprüngliche Nachricht-----
> Von: Jon Bonilla (Manwe) [mailto:jbonilla at sipwise.com]
> Gesendet: Mittwoch, 21. November 2012 15:17
> An: spce-user at lists.sipwise.com
> Cc: Klaus Peter v. Friedeburg
> Betreff: Re: [Spce-user] SIP-Response INJECTION
>
> El Wed, 21 Nov 2012 14:49:16 +0100
> "Klaus Peter v. Friedeburg" <friedeburg at aco.de> escribió:
>
> > Hi Jon,
> >
> > I am not sure but I have found something in the kamailio-doc's:
> > Module SIPUTILS
> > There exist an function "ring_insert_callid()"
> > From the doc:
> > 4.1. ring_insert_callid()
> > Inserting the call-id in the internal list, which is checked when further
> > replies arrive. Any 183 reply that is received during the timeout value will
> > be converted to a 180 message. Please note that you need to set a positive
> > timeout value in order to use this function. The function returns TRUE on
> > success, and FALSE during processing failures. This function can be used from
> > REQUEST_ROUTE and FAILURE_ROUTE.
> >
> > Do you have some experiences with this? Can this be a solution for my problem?
>
> No. I don't think this can help you. Anyways you can also do response
> translation in the sbc profile but I wouldn't.
>
> Let's try something really dirty and see if it works. We can do it better later
> on.
>
> Edit you lb configuration and add this:
>
> # Forgive me!
> if(is_present_hf("Supported") | is_present_hf("Allow"))
> {
> replace_all('PRACK,', "");
> replace_all('PRACK;', "");
> replace_all('PRACK', "");
> replace_all('100rel,', "");
> replace_all('100rel;', "");
> replace_all('100rel', "");
> }
>
> Check that no PRACK or 100rel strings are sent to bt during the initial INVITE
> and bt won't send a 100rel in the required header of the response.
>
> Try it also for incoming calls.
>
> >
> > I have spoken with ZYXEL about this problem, but they need some large time to
> > fix it in the firmware of the cpe.
> >
> > Some other answers in the text below.
>
> > When I disabled the session timer in sems the session timer works directly
> > between the PSTN-Gateway and the SIP-End-Node. I see reINVITE messages every
> > 1800 secs, or whatever is configured in the endpoint, coming from PSTN-GW
> > and forwarded to the client and from there are handled with 200 OK and vice
> > versa. For OnNET Calls the session timer works directly from one CPE to the
> > other CPE. I am not sure but in our scenario we don’t need to use
> > session-timer.
>
> Ok. Not very clean but I guess it works for you because you have a transparent
> header configuration.
More information about the Spce-user
mailing list