El Martes 07 Abril 2009, Klaus Darilion escribió:
> > Alice OBP Proxy/Registrar Bob
> >
> > ----- REGISTER ---> ---- REGISTER + Path -->
> >
> > <----- INVITE --------
> > <---- INVITE ------ <----- INVITE + Route --
>
> ^^^^^^
> Here at this point the OBP forwards the request to Alice based on the
> RURI. The RURI is the URI which Alice provided in the Contact header of
> the REGISTER.
I understand your point.
BTW, couldn't the OBP change the REGISTER Contact address?
This is:
Alice NAT OBP Proxy/Registrar Bob
----(1) REGISTER -> --(2)- REGISTER + Path -->
<----- INVITE --------
<---(4)- INVITE --- <--(3)- INVITE + Route ---
(1)
REGISTER sip:...
Contact: <sip:al...@alice_private_ip>
(2)
REGISTER sip:...
Contact: <sip:al...@alice_public_ip>
Path: <sip:OBP>
(3)
INVITE sip:al...@alice_public_ip
Route: <sip:OBP>
(4)
INVITE sip:al...@alice_public_ip
> Thus, there is the option to add the received parameter to the Path
> header. Then the OBP can derive the public IP:port from the received
> paramter in the Route header.
Yes, that would be the most ellegant solution since it would allow the OBP
setting the destination URI:
$du = "sip:ALIC_PUBLIC_IP"
and creating an INVITE as follows:
INVITE sip:al...@alice_private_ip
In this way, Alice would receive an INVITE with RURI matching *exactly* the
Contact she used during registration.
> The question now is: Do I have to manually parse the route header,
> extract the received parameter and set $du, or is there somewhere a
> function which does this all?
Good question! :)
However, I expect you can use the string transformations to parse it.
Interesting subject :)
--
Iñaki Baz Castillo <[email protected]>
_______________________________________________
Kamailio (OpenSER) - Users mailing list
[email protected]
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users