Hi everyone!
I have set up a ser as an outbound proxy with nathelper+rtpproxy. This is my set up
IPphone1 --> nat router --> outbound proxy(OP) --> softswitch(SS) IPphone2 -->
with the OP and SS in public. The IPphones are behind the same NAT and both configured to the same OP. I am only testing against this softswitch from some vendor so i don't have any control over it. And I used the sample nathelper.cfg from the CVS to get started.
Registration went smoothly. The problem starts when I try to call one phone using the other. Nothing happens until I recieve a 408 request time out. I did dumps on the OP and NAT router and what happens is the that the SS sends the INVITE to the NAT router directly instead of sending it to the OP. I tried reading the RFC but since im still new with sip and ser i am still at lost. Maybe someone here can help enlighten me. On sending INVITES, where in the SIP messages does the SS knows where to send the INVITE? Is it suppose to send back on what's in the Contact Header in registration? Would a Record-Route help solve the problem? Here's a rough description on what happens on the INVITES on phone1 calling phone2:
IPphone1 --> NAT --> OP --> SS Adds: Via Changes Contact with source ip
IPphone1 <-- NAT <-- OP <-- SS 407 407 407 407 Removes Via
IPphone1 --> NAT --> OP --> SS Invite with Adds Via Authorization Changes Contact with source ip
(lost) NAT <------------------------------ SS sees 3 Vias
Thanks in Advance for any help or ideas.
Regards, CGR
Yes, record routing should be honored by the softswitch. You could of course also rewrite the contact, but you then have to rewrite it back before relaying to the phone.
To the discussion on dedicated outbound proxy (i.e. not directly related to the lost invite): There was a discussion on serusers on using Path to implement a dedicated outbound proxy (i.e. separate ob and registrar). Since then Fermin has submitted a path module to the experimental directory. Trying to implement the dedicated outbound proxy scenario with the new path module is on my to-do list, but... I'm sure Fermin will appreciate some tests on his module. :-) g-)
jeff kwong wrote:
Hi everyone!
I have set up a ser as an outbound proxy with nathelper+rtpproxy. This is my set up
IPphone1 --> nat router --> outbound proxy(OP) --> softswitch(SS) IPphone2 -->
with the OP and SS in public. The IPphones are behind the same NAT and both configured to the same OP. I am only testing against this softswitch from some vendor so i don't have any control over it. And I used the sample nathelper.cfg from the CVS to get started.
Registration went smoothly. The problem starts when I try to call one phone using the other. Nothing happens until I recieve a 408 request time out. I did dumps on the OP and NAT router and what happens is the that the SS sends the INVITE to the NAT router directly instead of sending it to the OP. I tried reading the RFC but since im still new with sip and ser i am still at lost. Maybe someone here can help enlighten me. On sending INVITES, where in the SIP messages does the SS knows where to send the INVITE? Is it suppose to send back on what's in the Contact Header in registration? Would a Record-Route help solve the problem? Here's a rough description on what happens on the INVITES on phone1 calling phone2:
IPphone1 --> NAT --> OP --> SS Adds: Via Changes Contact with source ip
IPphone1 <-- NAT <-- OP <-- SS 407 407 407 407 Removes Via
IPphone1 --> NAT --> OP --> SS Invite with Adds Via Authorization Changes Contact with source ip
(lost) NAT <------------------------------ SS sees 3 Vias
Thanks in Advance for any help or ideas.
Regards, CGR
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Thanks for the help Greger! Where can I find information about this Path thing? Btw, is fwd.pulver using a seperate outbound-proxy and registrar implementation? Do you think its possible for someone to use their outbound proxy fwdnat.pulver.com and then register to a different softswitch?
I also thought about rewriting the Contact but that would mean editing the fix_nated_contact() function in the nathelper. But since this function, and the nathelper, have been proven to work by the other SER users, editing it is the not the first of my priorities.
Thanks! _jeff
Path can be found in the CVS head. Just use the standard command for checking out, but use experimental as module (instead of sip_router) I believe FWD uses Jasomi as outbound-proxy and yes, it's dedicated. And I wouldn't try using their outbound proxy, it's not what their service is set up to be, regardless if it's possible or not. g-)
jeff kwong wrote:
Thanks for the help Greger! Where can I find information about this Path thing? Btw, is fwd.pulver using a seperate outbound-proxy and registrar implementation? Do you think its possible for someone to use their outbound proxy fwdnat.pulver.com and then register to a different softswitch?
I also thought about rewriting the Contact but that would mean editing the fix_nated_contact() function in the nathelper. But since this function, and the nathelper, have been proven to work by the other SER users, editing it is the not the first of my priorities.
Thanks! _jeff