Asterisk – Can’t Hear Other Side. Or Other Side Does Not Hear Us

Home » Asterisk Users » Asterisk – Can’t Hear Other Side. Or Other Side Does Not Hear Us
Asterisk Users 8 Comments

Hello, This is not technical post, just looking for suggestions on what to check.I have asterisk for long time, no updates, just maintain OS updates. I use SPA504G phones Very rarely and randomly when we pickup a phone – other side does not hear us. Call them back and all works. Now I have couple people I’m talking to and it seems like very call like this. Someone can’t hear someone. Don’t know where to start to troubleshoot and what to look for. Thanks!

8 thoughts on - Asterisk – Can’t Hear Other Side. Or Other Side Does Not Hear Us

  • Hm, no?

    Which version?

    Tell us about your network – where is Asterisk (inside your network, externally hosted on public IP address, other), where are your phones (inside one network (maybe the same as Asterisk is on), randomly distributed around the Internet, other), how do external callers manage to contact you?

    Short answer: NAT

    Longer answer: Check the type of firewall / router / NAT device you have between Asterisk and the phones (most likely at the telephone end) and see whether it offers “SIP ALG” (Application Layer Gateway) – if it does, turn it
    *off*.

    Also, check the sip.conf definitions you have for the phones which are affected by this, and make sure you have NAT set to one of yes, force_rport or comedia
    (you may hav eto experiment to see which works best in your environment).

    Check https://www.voip-info.org/asterisk-sip-nat/ for some guidance.

    https://www.voip-info.org/asterisk-sip-nat-solutions/ may also give you some further clues.

    On the other hand, note that https://www.voip-info.org/asterisk-config-sipconf/
    is woefully outdated (at least as far as NAT is concerned).

    If none of that helps, I suggest doing a SIP packet trace at the server (and at the phone end if you can) and see what addresses are being passed between the two for RTP. That should tell you why one end can’t contact the other.

    Regards,

    Antony.


    The gravitational attraction exerted by a single doctor at a distance of 6
    inches is roughly twice that of Jupiter at its closest point to the Earth.

    Please reply to the list;
    please *don’t* CC me.

  • Antony, thanks for response!
    It wasn’t technical, now it’s getting there 🙂
    1. It’s asterisk 13.1-cert12. Network. I actually tried multiple things initially but now it’s plain vanilla. No NAT. I have Asterisk on our network. All of our phones is IN our network as well, same subnet. All internal. Asterisk is NOT exposed to internet, noone connects to Asterisk from internet. We use Callcentric for VOIP trunk. External callers get in via Callcentric. We have Mikrotik router and SIP handlers were disabled from beginning I gathered more info now about 3 issues we seen1. Outside caller calls us but can’t hear us. I beleive they talked to their phone provider and it works now?2. We have one caller where EVERY time they call – they can’t hear us. They just say “ok, call us back”. We call back and it works :)3. We have one caller where when we call them – they cannot hear us, but we can hear them. They called back – all works. So, as you see we don’t have NAT stuff
    [general]
    dtmfmode=rfc2833
    context=unauthenticated allowguest=no srvlookup=no udpbindaddr=0.0.0.0
    tcpenable=no callcounter=yes                 ; This is to enable device state for queues nat=no session-timers=refuse type=peer context=internal host=dynamic disallow=all allow=ulaw allow=alaw

    I feel like we need to trace SIP protocol. How do I do that? I may get on of those callers to work with us on testing.

    Thanks!
    Hm, no?
    Which version?

    Tell us about your network – where is Asterisk (inside your network, externally hosted on public IP address, other), where are your phones (inside one network (maybe the same as Asterisk is on), randomly distributed around the Internet, other), how do external callers manage to contact you?

    Short answer: NAT

    Longer answer: Check the type of firewall / router / NAT device you have between Asterisk and the phones (most likely at the telephone end) and see whether it offers “SIP ALG” (Application Layer Gateway) – if it does, turn it
    *off*.

    Also, check the sip.conf definitions you have for the phones which are affected by this, and make sure you have NAT set to one of yes, force_rport or comedia
    (you may hav eto experiment to see which works best in your environment).

    Check https://www.voip-info.org/asterisk-sip-nat/ for some guidance.

    https://www.voip-info.org/asterisk-sip-nat-solutions/ may also give you some further clues.

    On the other hand, note that https://www.voip-info.org/asterisk-config-sipconf/
    is woefully outdated (at least as far as NAT is concerned).

    If none of that helps, I suggest doing a SIP packet trace at the server (and at the phone end if you can) and see what addresses are being passed between the two for RTP.  That should tell you why one end can’t contact the other.

    Regards,

    Antony.

  • This is usually a symptom of something on the call path mishandling the session setup. Check routers/firewall/SIP proxy, etc. Likely a firmware bug is causing it to use the wrong IP address and passing that to the other end.

    Even if you disabled these devices, REMOVE them from the call path (or replace) for testing. Add them back one at a time to confirm source of problem.

    Sue

    From: asterisk-users [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Ivan Demkovitch Sent: Wednesday, February 27, 2019 5:11 PM
    To: asterisk-users@lists.digium.com Subject: [asterisk-users] Asterisk – can’t hear other side. Or other side does not hear us

    Hello,

    This is not technical post, just looking for suggestions on what to check.

    I have asterisk for long time, no updates, just maintain OS updates.

    I use SPA504G phones

    Very rarely and randomly when we pickup a phone – other side does not hear us. Call them back and all works.

    Now I have couple people I’m talking to and it seems like very call like this. Someone can’t hear someone.

    Don’t know where to start to troubleshoot and what to look for.

    Thanks!

  • That’s the point where you lost me.

    Callcentric is out on the Internet. How does it connect to your Asterisk server?

    Right…

    It would be good to know what got changed to make that work.

    So, they connect in via Callcentric too? Just the same as Caller 1?

    What is the difference between callers 1, 2 and 3, in terms of how they connect to your Asterisk server, or how you connect to them?

    I would start with something like:

    # tshark -i any -f “port 5060” -w “sip.debug.pcap”

    and then afterwards look at the pcap file with tshark (tshark -r
    “sip.debug.pcap -V”) or some SIP tool such as sngrep.

    Antony.


    “It wouldn’t be a good idea to talk about him behind his back in front of him.”

    – murble

    Please reply to the list;
    please *don’t* CC me.

  • Antony, It is correct. Noone connects to Asterisk box/server from outside.Callcentric SIP trunk configured and Asterisk maintains connection to it itself. No special ports opened, nothing. Connection happens from us to Callcentric and all calls routed in from CallcentricI don’t know exactly how it’s doing it by it works. Again, keep in mind it is working for many years for most / 90+% of calls
    #1. I don’t think it will be possible to know 🙁 Been 3 years.
    #2-3. All callers call public phone number and they all come in to asterisk from Callcentric context.When we call out – it goes out through Callcentric SIP trunk. When we dial internal each others extensions there is no NAT, trunk or anything else and all works just fine… Debugging with “tshark” should be done on Asterisk machine I asume?
    Thank you!

    That’s the point where you lost me.

    Callcentric is out on the Internet.  How does it connect to your Asterisk server?

    Right…

    It would be good to know what got changed to make that work.

    So, they connect in via Callcentric too?  Just the same as Caller 1?

    What is the difference between callers 1, 2 and 3, in terms of how they connect to your Asterisk server, or how you connect to them?

    I would start with something like:

    # tshark -i any -f “port 5060” -w “sip.debug.pcap”

    and then afterwards look at the pcap file with tshark (tshark -r
    “sip.debug.pcap -V”) or some SIP tool such as sngrep.

    Antony.

  • Okay, I didn’t actually mean “does anyone connect *inbound* to your Asterisk server” – I was more asking about the connectivity between the Asterisk box and (anything on) the Internet (eg: Callcentric), and whether there is NAT
    involved.

    Does your Asterisk box have an RFC1918 address (ie: 10.0.0.0/8. 172.16.0.0/12
    or 192.168.0.0/16), or does it have a public IP address on its own interface?

    If the address on your Asterisk server falls in the RFC1918 range, then you have NAT occurring on your router, and this is known to cause one-way (or sometimes no-way) audio from time to time.

    Yes, or else on any router between the Asterisk machine and the other end of the affected calls (ie: Callcentric). It’s very probably simplest to do it on the Asterisk server, though.

    Antony.


    +++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++

    Please reply to the list;
    please *don’t* CC me.

  • Antony, Ok, I see what you are saying. Yes, than NAT occuring on our router. Asterisk server is on internal IP (192.168..)
    # Now that I read what you say I think there might be 2 issues. “Randomness” is one, but I am not even sure we have it (randomness). All recent complains were from specific callers and we can replicate those.
    #What am I looking for? Should it be “tshark” or there is means within Asterisk application/configs to write those logs?I haven’t used “tshark” before. And more specifically, what am I looking for?
    Thank you!
    Okay, I didn’t actually mean “does anyone connect *inbound* to your Asterisk server” – I was more asking about the connectivity between the Asterisk box and (anything on) the Internet (eg: Callcentric), and whether there is NAT
    involved.

    Does your Asterisk box have an RFC1918 address (ie: 10.0.0.0/8. 172.16.0.0/12
    or 192.168.0.0/16), or does it have a public IP address on its own interface?

    If the address on your Asterisk server falls in the RFC1918 range, then you have NAT occurring on your router, and this is known to cause one-way (or sometimes no-way) audio from time to time.

    Yes, or else on any router between the Asterisk machine and the other end of the affected calls (ie: Callcentric).  It’s very probably simplest to do it on the Asterisk server, though.

    Antony.

  • That is significant.

    There is no way to get a full SIP trace out of Asterisk (that I know of).

    tshark is just my tool of choice for capturing packets (and, sometimes, for analysing what they mean afterwards). tcpdump is the other obvious choice for capturing the network traffic so you can then feed it into a protocol analyser.

    I did suggest sngrep as being another useful way of analysing what’s going on;
    this is a SIP-specific tool for showing you the flow of a conversation between two SIP devices (such as your Asterisk server and Callcentric’s).

    In terms of what you’re looking for, I’d start by looking at the exchange of media negotiation – do both servers support at least one codes acceptable to the other? And, are both servers telling the other to send the media to a valid public address?

    Regards,

    Antony.


    René Descartes walks in to a bar. The barman asks him “Do you want a drink?”
    Descartes says “I think not,” and disappears.

    Please reply to the list;
    please *don’t* CC me.