[Kamailio-Users] Question about redirect if user is not online

Daniel-Constantin Mierla miconda at gmail.com
Tue Sep 23 11:36:31 CEST 2008


Hello,

can you doublce check the second parameter of avp_pushto() is 
$avp(s:callfwd)?

Cheers,
Daniel

On 09/23/08 12:26, Ali Jawad wrote:
> Hi
> Thanks for the help and insight so far. 
>
> I did try your corrected version and I got this error:
>
> Sep 23 10:21:09 [555] ERROR:avpops:fixup_pushto_avp: bad param 1;
> expected :$pseudo-variable ...
> Sep 23 10:21:09 [555] ERROR:core:fix_actions: fixing failed (code=-1) at
> cfg line 311
> Sep 23 10:21:09 [555] ERROR:core:main: failed to fix configuration with
> err code -1
>
>
> -----Original Message-----
> From: Daniel-Constantin Mierla [mailto:miconda at gmail.com] 
> Sent: 2008-09-23 12:22
> To: Ali Jawad
> Cc: users
> Subject: Re: [Kamailio-Users] Question about redirect if user is not
> online
>
> Hello,
>
> On 09/23/08 12:07, Ali Jawad wrote:
>   
>> Hi
>> Thanks for your suggestion
>>
>> I did enter the username and the mobile number into the
>>     
> usr_preferences
>   
>> table and tried the below 
>>
>> ####### AVPOPS Section
>>
>>     
> modparam("avpops","avp_url","mysql://openser:xyxyxy@xxxxxxxxxxxx/openser
>   
>> ")
>> modparam("avpops","avp_table","usr_preferences")
>>
>> In the route statement I did add 
>>
>>                 if(avp_db_load("$ruri/username","s:callfwd")){
>>                     avp_pushto("$ruri","s:callfwd");
>>                     route(8);
>>                     exit;
>>                 };
>>
>> I got this error
>>
>> Sep 23 09:21:03 [340] ERROR:avpops:parse_avp_db: error - bad avp flags
>> Sep 23 09:21:03 [340] ERROR:avpops:fixup_db_avp: parse failed Sep 23
>> 09:21:03 [340] ERROR:core:fix_actions: fixing failed (code=-1) at cfg
>> line 307 Sep 23 09:21:03 [340] CRITICAL:core:fix_expr: fix_actions
>>     
> error
>   
>> Did I miss anything >?
>>   
>>     
> it should be:
>
>                 if(avp_db_load("$ruri/username","$avp(s:callfwd)")){
>                     avp_pushto("$ruri","$avp(s:callfwd)");
>                     route(8);
>                     exit;
>                 };
>
> insetead of avp_pushto("$ruri","$avp(s:callfwd)") you can do:
> $ru = $avp(s:callfwd);
>
> I assume $avp(s:callfwd) has a complete sip uri as value, if it is just 
> the number, then use:
>
> avp_pushto("$ruri/username","$avp(s:callfwd)");
>
> or
>
> $rU = $avp(s:callfwd);
>
> Cheers,
> Daniel
>
>   
>> -----Original Message-----
>> From: Daniel-Constantin Mierla [mailto:miconda at gmail.com] 
>> Sent: 2008-09-23 11:53
>> To: Ali Jawad
>> Cc: users
>> Subject: Re: [Kamailio-Users] Question about redirect if user is not
>> online
>>
>> Hello,
>>
>> On 09/22/08 16:16, Ali Jawad wrote:
>>   
>>     
>>> Hi
>>> I got the below fixed, however I do need to achieve something else as
>>>       
>
>   
>>> well. When I forward the call to asterisk I need asterisk to forward 
>>> it in turn to my cellphone number. Where an how should I re-write the
>>>       
>
>   
>>> DID number of my SIP packet that acts as the destination URI to my 
>>> cell phone number.
>>>
>>>  
>>>
>>>     
>>>       
>> to be sure I understand your needs, if the user is not online, you
>>     
> want 
>   
>> to send the call to user's mobile.
>>
>> Perhaps you already have the mobile number in some table in database. 
>> You can use avp_db_query() to load it in an AVP (see avpops module for
>>     
>
>   
>> more).
>>
>> avp_db_query("select __gsm_number__ from __your_table__ where 
>> username='$rU'", "$avp(s:gsm_number)");
>>
>> if(is_avp_set("$avp(s:gsm_number)"))
>> {
>>     $rU = $avp(s:gsm_number);
>>     $rd = "__your_pstn_gw_ip__";
>>     t_relay();
>>     exit;
>> }
>>
>> Hope it helps,
>> Daniel
>>
>>   
>>     
>
>   

-- 
Daniel-Constantin Mierla
http://www.asipto.com





More information about the sr-users mailing list