[SR-Users] Setting Kamailio User-Agent dynamically
Errol Samuels
ewsamuels at gmail.com
Tue Oct 7 23:06:16 CEST 2014
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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20141007/7a56f565/attachment.html>
More information about the sr-users
mailing list