[OpenSIPS-Users] URI PARSING
Richard Revels
rrevels at bandwidth.com
Thu Jul 8 23:19:41 CEST 2010
Ha! Never thought about both being present when I wrote that. Thank you.
On Jul 8, 2010, at 4:47 PM, Bogdan-Andrei Iancu wrote:
> Hi Richard,
>
> actually the logic should be the other way around - the "per contact"
> expire (if present) has higher priority over the header Expire.
>
> Regards,
> Bogdan
>
> Richard Revels wrote:
>> #this next part logs an error if the message has no expires
>> info (scanner messages sent directly to proxy for instance)
>> if(is_present_hf("Expires"))
>> $avp(i:10) := $hdr(Expires);
>> else
>> $avp(i:10) := $ct.fields(expires);
>> if( $avp(i:10) == "0" )
>> {
>> ...
>>
>>
>> Speaking of this, using a min_expires param to the registrar module
>> seems to defeat allowing users to unregister by sending a expires of
>> zero. I seem to remember it gets bumped to the min value. If true, I
>> think there should be a check added in the minimum time check to let
>> zero sneak through as is and remove the user from userloc table.
>>
>> Richard
>>
>>
>> On Jul 8, 2010, at 5:33 AM, Premalatha Kuppan wrote:
>>
>>> Hi,
>>>
>>> How do i check expiration for user, meaning to identify de-registration.
>>> When user is de-registred; then the request comes with expires=0; how
>>> to get this field and check in opensips.cfg file ?
>>>
>>> Any help ?
>>>
>>> Thanks,
>>> Prem
>>>
>>>
>>> On Wed, Jul 7, 2010 at 7:42 PM, Premalatha Kuppan
>>> <premalatha at ngintech.com <mailto:premalatha at ngintech.com>> wrote:
>>>
>>> Thanks to all.
>>>
>>> Its working now using $tu and avp_db_query.
>>>
>>> $var(x)=$(tu{uri.user});
>>> avp_db_query("INSERT INTO TESTTABLE (xxx,yyy,zzz)
>>> VALUES('$(var(x){s.select,0,_})','$(var(x){s.select,1,_})','$(var(x){s.select,2,_})')");
>>>
>>> Now, have to look how to remove these entries during de-registration.
>>>
>>> Thanks,
>>> Prem
>>>
>>>
>>>
>>> On Wed, Jul 7, 2010 at 5:05 PM, Bogdan-Andrei Iancu
>>> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>>>
>>> Premalatha Kuppan wrote:
>>>> Thanks. Corrected teh opensips.cfg file
>>>>
>>>> But the problem was due to this. by default DB URL was
>>> NULL. Now i
>>>> have added the DB URL for avpops.
>>>> # default URL
>>>> modparam("avpops","db_url","mysql://user:passwd@host/database")
>>>>
>>>>
>>>>
>>>> But the value of $rU is NULL..am i placing it in wrong
>>> location?
>>>
>>> In REGISTER requests, the RURI has only domain part
>>> (sip:opensips.org <http://opensips.org/>)
>>> so it is normal to have $rU NULL. If you need to identity of
>>> the user
>>> who registered, according to SIP, you have to look at the TO
>>> URI - so
>>> use $tu to get TO uri and use the URI transformation if you
>>> want to
>>> split in in username and domain (see
>>> http://www.opensips.org/Resources/DocsCoreTran16#toc17 ).
>>>
>>>
>>> Regards,
>>> Bogdan
>>>
>>>> I want the userpart e.g: sip:userpart at domain is the
>>> request uri; i
>>>> need only userpart . I believe that would be stored in $rU;
>>> but tis
>>>> coming as NULL. Which variable or where should i place this
>>> command
>>>> for registration and de-registration.
>>>>
>>>> Any Idea ?
>>>>
>>>> On Wed, Jul 7, 2010 at 4:13 PM, mayamatakeshi
>>> <mayamatakeshi at gmail.com <mailto:mayamatakeshi at gmail.com>
>>>> <mailto:mayamatakeshi at gmail.com
>>> <mailto:mayamatakeshi at gmail.com>>> wrote:
>>>>
>>>>
>>>>
>>>> On Wed, Jul 7, 2010 at 7:32 PM, Premalatha Kuppan
>>>> <premalatha at ngintech.com
>>> <mailto:premalatha at ngintech.com>
>>> <mailto:premalatha at ngintech.com
>>> <mailto:premalatha at ngintech.com>>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> Iam using avp_db_query, but opensips is dead with
>>> following error,
>>>>
>>>> During Registration, when the user is registered. I
>>> have to
>>>> parse and store th value in DB. So, included the
>>> avp_db_query
>>>> in this loop. Is this right one to do. I assume the
>>> value of
>>>> rU is NULL over here, probably its failing. Not sure :(
>>>>
>>>> Any insight ?
>>>>
>>>> if (is_method("REGISTER"))
>>>> {
>>>> # authenticate the REGISTER requests
>>>> (uncomment to enable auth)
>>>> if (!www_authorize("10.140.1.110",
>>> "subscriber"))
>>>> {
>>>>
>>> www_challenge("10.140.1.110", "0");
>>>> exit;
>>>> }
>>>>
>>>> # if (!db_check_to())
>>>> # {
>>>> #
>>> sl_send_reply("403","Forbidden auth ID");
>>>> # exit;
>>>> # }
>>>>
>>>> if (!save("location"))
>>>> sl_reply_error();
>>>>
>>>> $var(x) = $rU ;
>>>> avp_db_query("INSERT INTO TESTTABLE
>>>> (xxx,yyy,zzz)
>>>>
>>> VALUES('$(var(x){s.select,0,_})','$var(x)({s.select,1,_})','$(var(x){s.select,2,_})'");
>>>> exit;
>>>> }
>>>>
>>>>
>>>> Jul 7 06:25:16 204548-4
>>> /usr/local/sbin/opensips[17791]:
>>>> ERROR:avpops:fixup_db_query_avp: no db url defined
>>> to be used
>>>> by this function
>>>> Jul 7 06:25:16 204548-4
>>> /usr/local/sbin/opensips[17791]:
>>>> *ERROR:core:fix_actions: fixing failed (code=-6) at
>>> cfg line 351*
>>>> Jul 7 06:25:16 204548-4
>>> /usr/local/sbin/opensips[17791]:
>>>> ERROR:core:main: failed to fix configuration with
>>> err code -6
>>>>
>>>>
>>>> Clearly you misplaced the parenthesis:
>>>>
>>>>
>>>> $(var(x){s.select,0,_})',
>>>> '$var(x)({s.select,1,_})',
>>>> '$(var(x){s.select,2,_})'
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>> <mailto:Users at lists.opensips.org>
>>> <mailto:Users at lists.opensips.org
>>> <mailto:Users at lists.opensips.org>>
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>>
>>>>
>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>
>>>
>>> --
>>> Bogdan-Andrei Iancu
>>> OpenSIPS Bootcamp
>>> 20 - 24 September 2010, Frankfurt, Germany
>>> www.voice-system.ro <http://www.voice-system.ro/>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>
>
> --
> Bogdan-Andrei Iancu
> OpenSIPS Bootcamp
> 20 - 24 September 2010, Frankfurt, Germany
> www.voice-system.ro
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
More information about the Users
mailing list