[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