Also, $ct.fields(expires) is always null xlog("---- contact expires=$ct.fields(expires) ; header expires = $hdr(Expires) \n"); * OUTPUT:* During Registration: ---- contact expires=<null> ; header expires =1800
During De-Registration: ---- contact expires=<null> ; header expires = 0 On Fri, Jul 9, 2010 at 1:47 PM, Premalatha Kuppan <premala...@ngintech.com>wrote: > Thanks Bogdan. > > It was throwing me errors. > Now i used the following to check de-registration. It works. > > if( is_present_hf("Expires") && $(hdr(Expires){s.int})==0) > > BTW, how to differentiate registration and RE-registration request ? > > > On Fri, Jul 9, 2010 at 1:01 PM, Bogdan-Andrei Iancu < > bog...@voice-system.ro> wrote: > >> Try: >> >> >> xlog("---- contact expire=$ct.fields(expires) ; header expire = >> $hdr(Expires) \n"); >> if ($ct.fields(expires)) == '0' || $hdr(Expires)=="0") >> xlog("L_ERR", "De-registration\n"); >> >> Regards, >> Bogdan >> >> Premalatha Kuppan wrote: >> > I couldn't understand. >> > >> > I used $ct.fields(expires). >> > >> > if ($ct.fields(expires)) == '0') >> > xlog("L_ERR", "De-registration\n"); >> > >> > else >> > perform some operation >> > exit; >> > >> > But its not working though. >> > >> > I want to differentiate register and de-register SIP request. Thought >> > expires field in contact header would hold good. Is there any other way? >> > >> > What is the mistake iam doing ? >> > >> > On Fri, Jul 9, 2010 at 2:49 AM, Richard Revels <rrev...@bandwidth.com >> > <mailto:rrev...@bandwidth.com>> wrote: >> > >> > 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 >> > >>> <premala...@ngintech.com <mailto:premala...@ngintech.com> >> > <mailto:premala...@ngintech.com <mailto:premala...@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 >> > >>> <bog...@voice-system.ro <mailto:bog...@voice-system.ro> >> > <mailto:bog...@voice-system.ro <mailto:bog...@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:pas...@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> >> > <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:userp...@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 >> > >>> <mayamatake...@gmail.com >> > <mailto:mayamatake...@gmail.com> <mailto:mayamatake...@gmail.com >> > <mailto:mayamatake...@gmail.com>> >> > >>>> <mailto:mayamatake...@gmail.com <mailto: >> mayamatake...@gmail.com> >> > >>> <mailto:mayamatake...@gmail.com >> > <mailto:mayamatake...@gmail.com>>>> wrote: >> > >>>> >> > >>>> >> > >>>> >> > >>>> On Wed, Jul 7, 2010 at 7:32 PM, Premalatha Kuppan >> > >>>> <premala...@ngintech.com <mailto:premala...@ngintech.com> >> > >>> <mailto:premala...@ngintech.com >> > <mailto:premala...@ngintech.com>> >> > >>> <mailto:premala...@ngintech.com >> > <mailto:premala...@ngintech.com> >> > >>> <mailto:premala...@ngintech.com >> > <mailto:premala...@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@lists.opensips.org <mailto:Users@lists.opensips.org> >> > >>> <mailto:Users@lists.opensips.org >> > <mailto:Users@lists.opensips.org>> >> > >>> <mailto:Users@lists.opensips.org >> > <mailto:Users@lists.opensips.org> >> > >>> <mailto:Users@lists.opensips.org >> > <mailto:Users@lists.opensips.org>>> >> > >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > >>>> >> > >>>> >> > >>>> >> > >>> >> > >> ------------------------------------------------------------------------ >> > >>>> >> > >>>> _______________________________________________ >> > >>>> Users mailing list >> > >>>> Users@lists.opensips.org <mailto:Users@lists.opensips.org> >> > <mailto:Users@lists.opensips.org <mailto:Users@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> >> > <http://www.voice-system.ro/> >> > >>> >> > >>> >> > >>> _______________________________________________ >> > >>> Users mailing list >> > >>> Users@lists.opensips.org >> > <mailto:Users@lists.opensips.org> <mailto:Users@lists.opensips.org >> > <mailto:Users@lists.opensips.org>> >> > >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > >>> >> > >>> >> > >>> >> > >>> _______________________________________________ >> > >>> Users mailing list >> > >>> Users@lists.opensips.org <mailto:Users@lists.opensips.org> >> > <mailto:Users@lists.opensips.org <mailto:Users@lists.opensips.org>> >> > >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > >> >> > >> >> > >> ------------------------------------------------------------------------ >> > >> >> > >> _______________________________________________ >> > >> Users mailing list >> > >> Users@lists.opensips.org <mailto:Users@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@lists.opensips.org <mailto:Users@lists.opensips.org> >> > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > >> > >> > _______________________________________________ >> > Users mailing list >> > Users@lists.opensips.org <mailto:Users@lists.opensips.org> >> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > >> > >> > ------------------------------------------------------------------------ >> > >> > _______________________________________________ >> > Users mailing list >> > Users@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@lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > >
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users