[Users] ovpops for serial forking and its cures

Bogdan-Andrei Iancu bogdan at voice-system.ro
Wed Aug 3 13:19:11 CEST 2005


Hi Francesco,

the script look ok with minor objections : remove completely the 
onreply_route and remove the second "avp_delete("$serial_fork");" from 
the failure route (from the if block).

in order to help you, please provide a net capture of the entire call 
and the corresponding full logs of OpenSER (debug=5).

regards,
bogdan


Francesco Bottà wrote:

>Hi Bogdan,
>
>the gw is trusted and I use from_gw (LCR module) and so the INVITE falls into route[2] (PSTN to SIP scenario). In my test, the 407 seems to locally generated from OpenSer. Maybe I have to add in the failure_route[2] a statement that newly point to route[2] and not t_relay()?
>
>To summarize my scenario is this:
>
>PSTN user A calls VOIP user B.
>OpenSer recognize the call coming from trusted gws.
>OpenSer rewrite root number B with the first avp (let's say C)
>The INVITE is relayed to URI C (registerd user).
>C is ringing, 200 OK and ACK from gw.
>
>PSTN user AA calls VOIP user B.
>OpenSer recognize the call coming from trusted gws.
>OpenSer rewrite root number B with the first avp (let's say C)
>The INVITE is relayed to URI C (registerd user).
>But C is busy (reply with 486 Busy Here), ACK from OpenSer to C
>OpenSer relays upstream 407 Proxy Authentication Required that is acked from gw and the process stop here.
>
>I have tryed to modify the aliases table to have one alias mapped to N AOR but without success. Now I'm playing with avpops module, but I'm stopped at this point.
>
>Do you have any suggestion?
>
>Many thanx,
>
>Francesco
>----- Original Message ----- 
>From: "Bogdan-Andrei Iancu" <bogdan at voice-system.ro>
>To: "Francesco Bottà" <francesco.botta at eutelia.it>
>Cc: <users at openser.org>
>Sent: Wednesday, August 03, 2005 11:45 AM
>Subject: Re: [Users] ovpops for serial forking and its cures
>
>
>  
>
>>Hi Francesco,
>>
>>so you have a PSTN to SIP call - does your OpenSER require 
>>authentication for GW? or the "407" is not generated by OpenSER?
>>
>>in the auth block, skip from auth the request coming from the GW IP.
>>
>>if (src_ip!=gw_IP) {
>>    #perform auth
>>    .....
>>}
>>
>>Francesco Bottà wrote:
>>
>>    
>>
>>>Hi all,
>>>
>>>I'm playing around serial forking with avpops module. My goal is to have one PSTN number mapped to N voip number; so, when the first voip number is busy, OPENSER catch 486 reply and then try with the second AOR and so on. But here raise the problem: the OPENSER forward the reply upstream with a code 407 Proxy Auth Required and the PSTN GW send his ACK and all stop here.
>>>
>>>Below ther's a snippet of mi openser.cfg:
>>>
>>>modparam("avpops", "avp_aliases", "serial_fork=i:665")
>>>
>>>[..skipping..]
>>>
>>>
>>>#if RURI is to a voip user:
>>>
>>>
>>>       avp_db_load("$ruri", "$serial_fork");
>>>       avp_print();
>>>       avp_pushto("$ruri","$serial_fork");
>>>       lookup("aliases");
>>>       if lookup("location") {
>>>
>>>
>>>           t_on_reply("1");
>>>           t_on_failure("2");
>>>           t_relay();
>>>
>>>
>>>          break;
>>>       };
>>>
>>>onreply_route[1] {
>>>       if (t_check_status("486")) {
>>>       t_on_failure("2");
>>>       break;
>>>       };
>>>}
>>>
>>>
>>>failure_route[2] {
>>>       if (t_check_status("486")) {
>>>       # delete the first element of the list (if any) and pass to second from list
>>>       avp_delete("$serial_fork");
>>>       if (avp_pushto("$ruri", "$serial_fork")) {
>>>               append_branch();
>>>               avp_delete("$serial_fork");
>>>               t_on_failure("2");
>>>               t_relay();
>>>       }
>>> }
>>>
>>>}
>>>      
>>>




More information about the sr-users mailing list