[Home]

Summary:ASTERISK-07939: Critical - No audio issue with re-invite (wrong media address)
Reporter:Hoa Thai Duy (hoathai)Labels:
Date Opened:2006-10-17 04:27:29Date Closed:2006-10-23 12:26:34
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Hi Masters

I faced the issue with canreinvite=yes in Asterisk (both 1.2.9.1 and 1.2.1.12).


My diagram



UA1(RFC1918) ----- ADSL1 (NAT) -------------- Asterisk (Public IP) ------------ (NAT)ADSL2 --- UA2 (RFC1918)


When canreinvite=no in sip.conf for both UAs, everything is fine, RTP from both UAs are sent to Asterisk (can see using ?rtp debug?) and both UAs can talk.

When canreinvite=yes and nat=yes, I faced no audio issue.


After debug, I found that, when Asterisk send re-invite to both UAs, both UAs reply their OK with c=their RFC1918 address, and Asterisk send that OK parameters to other UAs

Initial INVITE
....
....
RE-INVITE
Asterisk send re-invite to UA1 with c=Public NATed IP of ADSL2
Asterisk send re-invite to UA2 with c=Public NATed IP of ADSL1
UA1 reply OK to Asterisk with c=RFC1918 of UA1
UA2 reply OK to Asterisk with c=RFC1918 of UA2
Asterisk send OK to UA2 with c= RFC1918 of UA1 (because it received the newer c= RFC1918 of UA1)
Asterisk send OK to UA1 with c= RFC1918 of UA2 (because it received the newer c= RFC1918 of UA2)

MEDIA
UA1 send RTP directly to c= RFC1918 of UA2 (it must be c=Public NATed IP of ADSL2 for correct audio flow)
UA2 send RTP directly to c= RFC1918 of UA1 (it must be c=Public NATed IP of ADSL1 for correct audio flow)

? no audio at all ?



Comments:By: Olle Johansson (oej) 2006-10-17 07:02:00

If you have nat, you shold *not* enable re-invites!

By: Hoa Thai Duy (hoathai) 2006-10-17 07:16:48

Can you point out, in my case what Asterisk is doing wrong? Or it's nature behavior of Asterisk and we can not change this behavior?

By: Olle Johansson (oej) 2006-10-17 10:36:02

re-invites and NAT is a combination we do *not* support. If you have nat, you need the audio to go through Asterisk. Asterisk follows your instructions, which we might have to change so you can not enable re-invites if you have NAT support. Disable re-invites and test again.

By: Hoa Thai Duy (hoathai) 2006-10-17 12:04:17

My case is exact this case.
http://bugs.digium.com/view.php?id=6651

I wonder why we don't let Asterisk handle reinvite with NAT as nature behavior? I mean officially support REINVITE with NATed UAs.

Follow up case ID 6551, with rtp.c patched, I can make UAs behind NAT talk directly with each other without RTP going via Asterisk.

By: Olle Johansson (oej) 2006-10-17 12:29:54

hoathai: Give it a try. Many have tried and failed. Good luck. Meanwhile, I'm closing this since it's not a bug report any more.

By: Serge Vecher (serge-v) 2006-10-23 12:26:33

as oej pointed out, this is not a bug, but feature request. Please assist with testing any patches in ASTERISK-6475.