[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 Users
mailing list