[OpenSIPS-Users] URI PARSING
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Thu Jul 8 22:47:18 CEST 2010
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
More information about the Users
mailing list