One way audio for sip etensions

I have an Asterisk@Home installation in my organization. I have had this installation for more than 3 years but never noticed this problem. There are 2 problems, but both seems to be related. My SIP extensions have one way audio

  1. SIP extensions have one way audio; others can hear them but not vice-versa. No, this is not a problem with one desktop. This is present in all desktops where sip devices are installed. This is true for ZAP trunks as well; but it does not look like a firewall problem since the problem exists for calls between 2 extensions.

  2. SIP extensions do not ring. However, you can make outbound calls from them and the called party can hear them but not vice-versa.

My IAX extensions seem to work fine. Here is the log when an IAX extension makes a SIP call

Dec 10 16:15:15 VERBOSE[2111] logger.c: – dialparties.agi: DbSet CALLTRACE/20001 to 3001
Dec 10 16:15:15 VERBOSE[2111] logger.c: – AGI Script dialparties.agi completed, returning 0
Dec 10 16:15:15 VERBOSE[2111] logger.c: – Executing AGI(“IAX2/3001-2”, “callperlscript.agi”) in new stack
Dec 10 16:15:15 VERBOSE[2111] logger.c: – Launched AGI Script /var/lib/asterisk/agi-bin/callperlscript.agi
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: priority = 10
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: callingani2 = 0
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: accountcode =
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: channel = IAX2/3001-2
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: callerid = 3001
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: context = macro-dial
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: callington = 0
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: dnid = 20001
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: request = callperlscript.agi
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: calleridname = Fawzy
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: extension = s
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: language = en
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: uniqueid = 1260441915.0
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: callingpres = 1
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: type = IAX2
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: rdnis = unknown
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: callingtns = 0
Dec 10 16:15:15 VERBOSE[2111] logger.c: – callperlscript.agi: enhanced = 0.0
Dec 10 16:15:15 VERBOSE[2111] logger.c: callperlscript.agi: Caller ID name is ‘Fawzy’ number is '3001’
Dec 10 16:15:15 VERBOSE[2111] logger.c: callperlscript.agi: Methodologl of ring is 'none’
Dec 10 16:15:15 VERBOSE[2111] logger.c: == callperlscript.agi: Added extension 20001 to extension map
Dec 10 16:15:15 VERBOSE[2111] logger.c: == callperlscript.agi: Caller id: 3001 Extension: 20001
Dec 10 16:15:16 VERBOSE[2111] logger.c: – AGI Script callperlscript.agi completed, returning 0
Dec 10 16:15:16 VERBOSE[2111] logger.c: – Executing Dial(“IAX2/3001-2”, “SIP/20001|15|tr”) in new stack
Dec 10 16:15:16 DEBUG[2111] chan_sip.c: Setting NAT on RTP to 0
Dec 10 16:15:16 DEBUG[2111] chan_sip.c: Outgoing Call for 20001
Dec 10 16:15:16 VERBOSE[2111] logger.c: – Called 20001
Dec 10 16:15:23 DEBUG[2940] chan_iax2.c: Immediately destroying 2, having received hangup

Please note the message “Methodology of ring is ‘none’” and the lack of message “Extension 20001 is Ringing”.

Any help will be appreciated. The Asterisk version is 1.2.7.1

Hello,
I just posted a question and am not a regular nor anything near a… novice :slight_smile:

But you did say any help would be appreciated.

I have had this symptom. (the audio one way, not the does not ring part.)

My issue was definitely NAT related. The RTP Ports are having an issue. 20000 to 30000?
Quite a range.

The problem was from 2 extensions. and I was trans-versing 2 routers.
So if they are on the same LAN this would not be the same unless you have things like virtual lans and other network management controls on your local network.

I got it to work using port forwarding but later found it not necessary after setting up the SIP device with a STUN server IP.
the stun server detects certain network characteristics about your router/NAT.

Also don’t forget the basics with the NAT in sip.conf (or custom sip conf) (do a search)
nat=yes
externip=xxx.xxx.xxx.xxx (actual external ip)
externrefresh=10
localnet=192.168.1.0/255.255.255.0 (use proper subnet)
localhost=xxx.xxx.xxx.xxx (IP of asterisk)

the Setting NAT on RTP to 0 in the log looks like another possible red flag!
RTP is the sound channel port.

hope something helped here!
-Jeff

If the SIP phones are behind the firewall, make sure that NAT= no in the extension configuration. If they are on the other side of the firewall - remote phones, the NAT should be set to yes. Here’s a webpage called that talks about slipping sip past the firewall that I put together.