Hello Andrei. Thanks for your reply. I'm using Mediaproxy with the mediaproxy module from SER. I'm use client_nat_test to modify the rport. if (client_nat_test("1")) { log(1, "NAT: Requerimiento de IP privada --> fixed contact (en rutina principal)\n"); setflag(5); force_rport(); fix_contact(); append_hf("P-hint: fixed NAT contact for request\r\n"); };
Here, i'm attaching the complete debug from a call with a CANCEL request. (cancel_problem.txt)
Can this problem be solved? or is more related with the endpoint?
Thanks in advance. Best Regards
Ricardo Martinez Ogalde
-----Mensaje original----- De: Andrei Pelinescu-Onciul [mailto:pelinescu-onciul@fokus.fraunhofer.de] Enviado el: Viernes, 12 de Noviembre de 2004 5:25 Para: Ricardo Martinez CC: 'serusers@lists.iptel.org' Asunto: Re: [Serusers] "200 - Cancelling" Message Problem
On Nov 11, 2004 at 12:52, Ricardo Martinez rmartinez@redvoiss.net wrote:
Hello List. I'm still stuck with this problem. I really don't know if it is a configuration problem or maybe a problem with SER, i was hopping that someone could help me. I have a NAT'd client, when this client make a
call,
and before the called party answer the call the call is canceled, I see a "200 - Cancelling" message coming from SER to my NAT'd client. All the previus messages goes to the correct port informed in the rport, but this 200-Cancelling message goes to port 5060, so the message didn't reach the endpooint.
All the replies to a request are supposed to go to the rport. CANCEL is a different request. CANCEL will go to its request uri , in your case sip:2408196@sipproxy.mydomain.com.
It this a problem with the configuration or a problem with SER?. Here is SIp debug for the final CANCEL message.
A nat-config problem probably. Do you use nathelper? Do you use fix_nated_contact() for REGISTERs comming from natted UAs?
Andrei
On Nov 12, 2004 at 10:20, Ricardo Martinez rmartinez@redvoiss.net wrote:
Hello Andrei. Thanks for your reply. I'm using Mediaproxy with the mediaproxy module from SER. I'm use client_nat_test to modify the rport. if (client_nat_test("1")) { log(1, "NAT: Requerimiento de IP privada --> fixed contact (en rutina principal)\n"); setflag(5); force_rport(); fix_contact(); append_hf("P-hint: fixed NAT contact for request\r\n"); };
Here, i'm attaching the complete debug from a call with a CANCEL request. (cancel_problem.txt)
Can this problem be solved? or is more related with the endpoint?
Ok, so the problem is a little different from what I thought. It's not about CANCEL reaching its destination, it's about the reply to CANCEL not going back. This happens because you don't force_rport() all the requests that come from natted UAs. In the config snippet above, you only "fix" requests wiht private ip in contacts, but CANCEL doesn't have any Contact: => it will never enter this block.
Try to change client_nat_test("1") into client_nat_test("3").
Andrei