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(a)voice-system.ro>
To: "Francesco Bottà" <francesco.botta(a)eutelia.it>
Cc: <users(a)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();
>> }
>> }
>>
>>}
>>
>>