[SR-Users] Setting Kamailio User-Agent dynamically
Daniel-Constantin Mierla
miconda at gmail.com
Wed Oct 8 13:34:07 CEST 2014
Perhaps you can get it with adding User-Agent header to $uac_req(hdrs):
$uac_req(hdrs)= $uac_req(hdrs) + "User-Agent: " + $ua + "\r\n";
And sent the global parameter:
user_agent_header=""
But then no local generated request has user agent, which probably is ok
for you.
There are still ways to use event_route[tm:local-request] to set a
custom user agent header, but would require something like:
- add $us in $uac_req(hdrs) as X-UA header
- in event_route[tm:local-request], remove User-Agent and X-UA headers
and add again User-Agent taking the value from X-UA
Cheers,
Daniel
On 07/10/14 23:06, Errol Samuels 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
> <mailto: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 <mailto: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 <mailto: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
>> <mailto: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
>>> <mailto: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 list
>>>> sr-users at lists.sip-router.org <mailto:sr-users at lists.sip-router.org>
>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>> --
>>> *Rainer Piper*
>>> Integration engineer
>>> Koeslinstr. 56
>>> 53123 BONN
>>> GERMANY
>>> Phone: +49 228 97167161
>>> <tel:%2B49%20228%2097167161>
>>> P2P: sip:rainer at sip.soho-piper.de:5072 (pjsip-test)
>>> XMPP: rainer at xmpp.soho-piper.de
>>> <mailto:rainer at xmpp.soho-piper.de>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER)
>>> - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> <mailto: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 <mailto:sr-users at lists.sip-router.org>
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>> --
>> *Rainer Piper*
>> Integration engineer
>> Koeslinstr. 56
>> 53123 BONN
>> GERMANY
>> Phone: +49 228 97167161 <tel:%2B49%20228%2097167161>
>> P2P: sip:rainer at sip.soho-piper.de:5072 (pjsip-test)
>> XMPP: rainer at xmpp.soho-piper.de
>> <mailto:rainer at xmpp.soho-piper.de>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) -
>> sr-users mailing list
>> sr-users at lists.sip-router.org
>> <mailto: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 <mailto:sr-users at lists.sip-router.org>
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
> --
> Daniel-Constantin Mierla
> http://twitter.com/#!/miconda <http://twitter.com/#%21/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
> <mailto: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
> <mailto: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 <mailto: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
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20141008/115e9be7/attachment.html>
More information about the sr-users
mailing list