[SR-Users] Setting Kamailio User-Agent dynamically

SamyGo govoiper at gmail.com
Tue Oct 7 23:35:50 CEST 2014


No no, not like that, its a separate route and needs to be placed outside
the other route[] { ... }


On Tue, Oct 7, 2014 at 4:06 PM, Errol Samuels <ewsamuels at gmail.com> wrote:

> Hi Sammy,
>
> Thanks for your response and the clarification.
>
> What I am actually trying to do is to pass the real User-Agent info for
> each device as the Registration is fowarded to Freeswitch so using your
> code as an example instead of hardcoding the custom "User-Agent: My Server
> SIP Server" which will show up in Freeswitch for ALL users I want to do
> something like user_agent_header="User-Agent: $ua" ;
>
> Where $ua as you are aware would be the Real User-Agent of the actual user
> who registration is being forwarded to Freeswitch.
>
> if($sel(contact.expires) != $null)
>                 $uac_req(hdrs)= $uac_req(hdrs) + "Expires: " +
> $sel(contact.expires) + "\r\n";
>         else
>                 $uac_req(hdrs)= $uac_req(hdrs) + "Expires: " +
> $hdr(Expires) + "\r\n";
>         event_route [tm:local-request] { # Handle locally generated
> requests
>         xlog("L_INFO", "Routing locally generated $rm to <$ru> + Modify
> the User-Agent Header \n");
>         user_agent_header="User-Agent: $ua" ;
>         }
>
>         uac_req_send();
>         exit;
>
>
> I tried to add that code just before the "uac_req_send()" but I get errors
> when starting Kamailio,  Is this compatible with Kamailio 4.0.6?
>
>  0(44073) : <core> [cfg.y:3567]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1034, column 2-12: syntax error
>  0(44073) : <core> [cfg.y:3567]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1034, column 2-12: bad command
>  0(44073) : <core> [cfg.y:3567]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1034, column 2-12: bad command
>  0(44073) : <core> [cfg.y:3570]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1034, column 14: bad command
>  0(44073) : <core> [cfg.y:3567]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1034, column 15-30: bad command
>  0(44073) : <core> [cfg.y:3570]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1034, column 31: bad command
>  0(44073) : <core> [cfg.y:3570]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1034, column 33: bad command
>
> regards,
>
> Errol
>
>
> On Tue, Oct 7, 2014 at 9:28 PM, SamyGo <govoiper at gmail.com> wrote:
>
>> Hey Errol,
>>
>> What I get from Daniel's email is that you only need to add this route in
>> your script and it will trigger itself automatically when "uac_req_send()"
>> function is executed.
>>
>> event_route [tm:local-request] { # Handle locally generated requests
>>       xlog("L_INFO", "Routing locally generated $rm to <$ru> + Modify the
>> User-Agent Header \n");
>>       user_agent_header="User-Agent: My Super SIP Server" ;
>> }
>>
>> Reference:
>> http://www.kamailio.org/wiki/cookbooks/4.1.x/core?s[]=event&s[]=route#event_route
>>
>> BR,
>> Sammy
>>
>>
>> On Tue, Oct 7, 2014 at 11:20 AM, Errol Samuels <ewsamuels at gmail.com>
>> wrote:
>>
>>> Thanks for your input Daniel but pardon my ignorance as I am not 100%
>>> clear where I need to add that event_route[tm:local-request].
>>>
>>> Here is the point where the REGISTER is being sent to Freeswitch.  So
>>> are you able to provide an example of where I send the real User-Agent of
>>> the device to Freeswitch?
>>>
>>> # Forward REGISTER to FreeSwitch
>>> route[REGFWD] {
>>>
>>>         if(!is_method("REGISTER"))
>>>         {
>>>                 return;
>>>         }
>>>
>>>         route(DISPATCH);
>>>         $uac_req(method)="REGISTER";
>>>         $uac_req(ruri)=$du;
>>>         $uac_req(furi)=$fn + "<sip:" + $au + "@" + $ar + ">";
>>>         $uac_req(turi)=$tn + "<sip:" + $au + "@" + $ar + ">";
>>>         $uac_req(hdrs)="Contact: <sip:" + $au + "@"
>>>                                 + $ar
>>>                                 + ";fs_path=sip:"
>>>                                 + $sel(cfg_get.kamailio.bindip)
>>>                                 + ":" + $sel(cfg_get.kamailio.bindport)
>>>                                 + ">"
>>>                                 + "\r\n";
>>>         if($sel(contact.expires) != $null)
>>>                 $uac_req(hdrs)= $uac_req(hdrs) + "Expires: " +
>>> $sel(contact.expires) + "\r\n";
>>>         else
>>>                 $uac_req(hdrs)= $uac_req(hdrs) + "Expires: " +
>>> $hdr(Expires) + "\r\n";
>>>         uac_req_send();
>>>         exit;
>>> }
>>>
>>> Thanks
>>>
>>> Errol
>>>
>>>
>>>
>>> On Tue, Oct 7, 2014 at 9:07 AM, Daniel-Constantin Mierla <
>>> miconda at gmail.com> wrote:
>>>
>>>>  You have to use event_route[tm:local-request] if you use uac module to
>>>> send out new REGISTER.
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>>
>>>> On 03/10/14 18:32, Errol Samuels wrote:
>>>>
>>>>  I also tried your last suggestion at the point when the registeris
>>>> being forwarded to FS but it had no effect
>>>>
>>>> # Forward REGISTER to Freeswitch
>>>> route[REGFWD] {
>>>>         if(!is_method("REGISTER"))
>>>>         {
>>>>                 return;
>>>>         }
>>>>
>>>>         #if ( is_present_hf("User-Agent")) {
>>>>
>>>> * remove_hf("User-Agent");         append_hf("User-Agent: $ua\r\n");*
>>>>         #}
>>>>
>>>>  BR
>>>>
>>>>  Errol
>>>>
>>>>
>>>> On Fri, Oct 3, 2014 at 5:08 PM, Rainer Piper <
>>>> rainer.piper at soho-piper.de> wrote:
>>>>
>>>>>  Am 03.10.2014 um 17:52 schrieb Errol Samuels:
>>>>>
>>>>>   Hi Rainer,
>>>>>
>>>>>  Yes I did try user_agent_header = "User-Agent: $ua"; but it just
>>>>> passes "$ua" to Freeswitch rather than the value of $ua.
>>>>>
>>>>>  regards,
>>>>>
>>>>>  Errol
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Oct 3, 2014 at 4:32 PM, Rainer Piper <
>>>>> rainer.piper at soho-piper.de> wrote:
>>>>>
>>>>>>  Am 03.10.2014 um 17:04 schrieb Errol Samuels:
>>>>>>
>>>>>>    Hello All,
>>>>>>
>>>>>>  I am using Kamailio in front of Freeswitch and Kamailio is handling
>>>>>> the registrations then forwarding to Freeswitch and everything is working
>>>>>> for the most part.
>>>>>>
>>>>>> However, there is niggling pain in the neck issue where the user's
>>>>>> User-Agent shows in Freeswitch as kamailio (4.0.6 (x86_64/linux))  instead
>>>>>> of the user's Real User-Agent I am trying to get Kamailio to pass the real
>>>>>> User-Agent of the user without success.
>>>>>>
>>>>>>  I am able to set a static User-Agent by doing this in the global
>>>>>> section.
>>>>>>
>>>>>> *user_agent_header = "User-Agent:  We love beer";*
>>>>>>
>>>>>>  However, I am unable to set it dynamically for example:
>>>>>>
>>>>>>
>>>>>> *user_agent_header = "User-Agent: " + $ua; *
>>>>>>
>>>>>>
>>>>>>
>>>>>> *have you tried ... *
>>>>>>
>>>>>>
>>>>>> *user_agent_header = "User-Agent: $ua"; ? *
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *Have you tried to remove the original hf (User-Agent) and set the new
>>>>> one like: remove_hf("User-Agent"); append_hf("User-Agent: $ua\r\n"); *
>>>>>
>>>>>
>>>>>
>>>>> * ? *
>>>>>
>>>>>
>>>>>>  With is one Kamailio doesn't even start so my syntax is probably
>>>>>> wrong.
>>>>>>
>>>>>> I also tried playing around with the textops module so I have ran out
>>>>>> of ideas
>>>>>>
>>>>>> Any ideas?
>>>>>>
>>>>>>  Thanks in advance.
>>>>>>
>>>>>>  regards,
>>>>>>
>>>>>> Errol
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>  _______________________________________________
>>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Rainer Piper*
>>>>>> Integration engineer
>>>>>> Koeslinstr. 56
>>>>>> 53123 BONN
>>>>>> GERMANY
>>>>>> Phone: +49 228 97167161 <%2B49%20228%2097167161>
>>>>>> P2P: sip:rainer at sip.soho-piper.de:5072 (pjsip-test)
>>>>>> XMPP: rainer at xmpp.soho-piper.de
>>>>>>
>>>>>> _______________________________________________
>>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>>>>>> list
>>>>>> sr-users at lists.sip-router.org
>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Rainer Piper*
>>>>> Integration engineer
>>>>> Koeslinstr. 56
>>>>> 53123 BONN
>>>>> GERMANY
>>>>> Phone: +49 228 97167161 <%2B49%20228%2097167161>
>>>>> P2P: sip:rainer at sip.soho-piper.de:5072 (pjsip-test)
>>>>> XMPP: rainer at xmpp.soho-piper.de
>>>>>
>>>>> _______________________________________________
>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>>> sr-users at lists.sip-router.org
>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>>
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>>>
>>>> --
>>>> Daniel-Constantin Mierlahttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>>>>
>>>>
>>>> _______________________________________________
>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>> sr-users at lists.sip-router.org
>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>>>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20141007/b9be3fee/attachment.html>


More information about the sr-users mailing list