Can you connect to the asterisk console and post the output when you establish a call.
Was the server rebooted after fax support added? I would disable the firewall (iptables) temporarily to see if that helps.
Main Topics
Browse All TopicsI have the following problem with Asterisk after someone installed fax support on my Asterisk server:
When I call internally everything works fine. This is how my setup is like:
SIP software phone -> asterisk -> voip provider -> phone
When I call someone, or someone calls me I can't hear the other side neither does the other side hear me. But if he/she calls my number, here hears the ring and a short welcome message. When the connection is established between us, we don't hear anything anymore.
Does anyone know how to fix this?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
> Can you connect to the asterisk console and post the output when you establish a call.
Sure here it is:
-- Executing Goto("SIP/***MY-NUMBER***-
-- Goto (inter,212,1)
-- Executing Macro("SIP/***MY-NUMBER***
-- Executing Set("SIP/***MY-NUMBER***-1
-- Executing Monitor("SIP/***MY-NUMBER*
-- Executing Dial("SIP/***MY-NUMBER***-
-- Called 212
-- SIP/212-102b is ringing
-- SIP/212-102b answered SIP/***MY-NUMBER***-1287
> Was the server rebooted after fax support added?
Yes
> I would disable the firewall (iptables) temporarily to see if that helps.
It is already disabled.
Can you connect to asterisk with 'asterisk -r -vvv' instead as some information seems to be missing.
When I make an outgoing call I get the following :-
-- Accepting AUTHENTICATED call from 82.24.x.x:
> requested format = gsm,
> requested prefs = (),
> actual format = gsm,
> host prefs = (gsm|ilbc),
> priority = mine
-- Executing Dial("IAX2/6152-3", "IAX2/xxxxxx@voiptalk/4413
-- Called xxxxxx@voiptalk/441344xxxx
-- Call accepted by 217.14.x.x (format ilbc)
-- Format for call is ilbc
-- IAX2/voiptalk-4 is making progress passing it to IAX2/6152-3
-- IAX2/voiptalk-4 answered IAX2/6152-3
-- Attempting native bridge of IAX2/6152-3 and IAX2/voiptalk-4
-- Operating with different codecs 2[0x2 (gsm)] 1024[0x400 (ilbc)] , can't native bridge...
I think I have a problem one where asterisk was attempting to do a native bridge between the internal phone and the isp which resulted in the call being blocked by the company firewall.
Native bridging is where asterisk tells each party the IP address of the other end and expects them to communicate directly. I think I just forced the use of a different codec on the ISP link so native bridging would never be attempted. I cant remember if the problem was with IAX or SIP however.
I now used asteriks -r -vvv. Then I get the below output. By the way the above log is when I called from outside to my asterisk server. This is from internal to outside:
-- Executing Dial("SIP/212-f215", "SIP/***NUMBER-TO***@12con
-- Called ***NUMBER-TO***@12connect
-- SIP/12connect-ca85 is ringing
-- SIP/12connect-ca85 is making progress passing it to SIP/212-f215
-- SIP/12connect-ca85 answered SIP/212-f215
-- Attempting native bridge of SIP/212-f215 and SIP/12connect-ca85
== Spawn extension (inter, ***NUMBER-TO***, 1) exited non-zero on 'SIP/212-f215'
Looks like native bridging is being used. Therefore I suspect the problem is that when the native bridging is completed and the phone and ISP try to communicate directly the packets are blocked somehow. This is probably due to your company firewall.
What codecs are you using for the ISP link and the phones?
Normally this sory of thing does not occur as internal phones use the high quality G711 codec while the codec used over the internet is a higher compression one such as SPEEX or gsm.
Is the phone your are using a soft phone or do you have a hardware one to try aswell?
Have a look at this page http://www.dslreports.com/
It seems to be discussing the same problem that you have.
Is your asterisk box directly connected to the internet or is there a firewall or router performing NAT inbetween?
If there is I would look at the site above and apply the entries for fixing the RTP ports and forwarding them on the router/firewall.
> This is probably due to your company firewall.
I've I connect using x-lite to the sip provider directly, then it uses the same router and everything works fine. I have enabled DMZ on all routers.
> What codecs are you using for the ISP link and the phones?
Phones:
disallow=all
allow=alaw
allow=ulaw
allow=gsm
Sip provider:
disallow=all
allow=alaw
allow=ulaw
bandwidth=high
> Is the phone your are using a soft phone or do you have a hardware one to try aswell?
Sorry, I only have a soft phone. Though I tried JSphone too.
> Is your asterisk box directly connected to the internet or is there a firewall or router performing NAT inbetween?
Firewalls are disabled. However there are some routers which have DMZ enabled. This is how the setup looks like:
computer -> WLAN router -> router -> internet
In /etc/asterisk/rtp.conf make sure the rtp start and end points are defined and make sure these UDP ports and UDP port 5060 is forwarded on your routers to the asterisk machine.
In /etc/asterisk/sip_nat.conf
externip=[your external public IP address]
localnet=[local internal ip address]/255.255.255.0
In your extensions.conf or wherever you have the ISP defined make sure the following are set:-
canreinvite=no
nat=yes
Then go to 'asterisk -r -vvv' and type 'reload' and post the output again when you try to make a call.
> In /etc/asterisk/rtp.conf make sure the rtp start and end points are defined and make sure these UDP ports and UDP port 5060 is forwarded on your routers to the asterisk machine.
They were not set so I used the sample entries in rtp.conf.
> In /etc/asterisk/sip_nat.conf
This file didn't exist so I created it with the above entries.
> In your extensions.conf or wherever you have the ISP defined make sure the following are set:-
These settings were already in there.
> Then go to 'asterisk -r -vvv' and type 'reload' and post the output again when you try to make a call.
This is the output:
-- Executing Dial("SIP/212-f936", "SIP/***NUMBER-TO***@12con
-- Called ***NUMBER-TO***@12connect
-- SIP/12connect-428e is ringing
-- SIP/12connect-428e is making progress passing it to SIP/212-f936
-- SIP/12connect-428e is ringing
-- SIP/12connect-428e is making progress passing it to SIP/212-f936
-- SIP/12connect-428e answered SIP/212-f936
-- Attempting native bridge of SIP/212-f936 and SIP/12connect-428e
== Spawn extension (inter, ***NUMBER-TO***, 1) exited non-zero on 'SIP/212-f936'
Can you try again but using different codecs and post the output again. i.e so the codec used by the software client and isp are different. You should then see a message saying it is unable to native bridge because different codecs are being used.
On a separate issue have you tried this client?
http://www.laser.com/dante
It uses the IAX protocol instead which is a lot more NAT friendly so is far more likly to work from hotels etc...
I just tried these settings and then made a call:
Phone: gsm
Sip provider: alaw
Output:
-- Registered SIP '212' at 192.168.1.2 port 5063 expires 1800
-- Executing Dial("SIP/212-27e9", "SIP/***NUMBER-TO***@12con
-- Called ***NUMBER-TO***@@12connect
-- SIP/12connect-9ea2 is ringing
-- SIP/12connect-9ea2 is making progress passing it to SIP/212-27e9
-- SIP/12connect-9ea2 is ringing
-- SIP/12connect-9ea2 is making progress passing it to SIP/212-27e9
-- SIP/12connect-9ea2 answered SIP/212-27e9
-- Attempting native bridge of SIP/212-27e9 and SIP/12connect-9ea2
== Spawn extension (inter, ***NUMBER-TO***@, 1) exited non-zero on 'SIP/212-27e9'
I also tried DIAX but I always get this error even while the settings are correct: Feb 15 13:54:07 NOTICE[11414]: chan_iax2.c:5038 register_verify: No registration for peer '212' (from 192.168.1.2)
Thanks again for helping. I have raised the point a bit.
I think the phone and ISP are still using the same coded as asterisk is attempting to do a native bridge.
DIAX only uses the IAX protocol so you need to setup the extensions in iax.conf aswell. When an internal number is dialed I have my 'dial' command dialing the SIP and IAX extensions at the same time so both the software client and the desk phone ring until one of them answers to it times out.
> I think the phone and ISP are still using the same coded as asterisk is attempting to do a native bridge.
I checked it again. And it only allows GSM.
I added the phone to iax.conf. I was now able to login. I tried a call to an external phone. However I still don't hear anything. I also tried an internal call to the phone which is configured in sip.conf. I noticed that on both phones only the line of the microphone volume moves. The speaker volume bar just doesn't show anything.
I forgot to post the log from an outgoing call:
-- Accepting UNAUTHENTICATED call from 192.168.1.2:
> requested format = gsm,
> requested prefs = (),
> actual format = alaw,
> host prefs = (alaw|ulaw|gsm),
> priority = mine
-- Executing Dial("IAX2/213-5", "SIP/***NUMBER-TO***@12con
-- Called ***NUMBER-TO***@12connect
-- SIP/12connect-0b00 is ringing
-- SIP/12connect-0b00 is making progress passing it to IAX2/213-5
-- SIP/12connect-0b00 is ringing
-- SIP/12connect-0b00 is making progress passing it to IAX2/213-5
-- SIP/12connect-0b00 answered IAX2/213-5
== Spawn extension (inter, ***NUMBER-TO***, 1) exited non-zero on 'IAX2/213-5'
-- Hungup 'IAX2/213-5'
Note: now the phone is only using IAX. The sip provider still uses SIP. Do I need to use IAX for the sip provider too?
No thats fine. Asterisk will decode and re-encode the voice and pass it between the clients.
Can you no make an outgoing and a separate incoming call and let me know if there is no audio at all or if it is in one direction only.
What are you using as the WLAN router and the other router?
Are either of these performing NAT?
Do you have the ports forwarded on either of the devices if they are performing NAT?
Above you will see an outgoing call.
When I try to make an incoming call, it says the line is busy?? I already removed the entry in sip.conf. But it still says busy.
Here is how my routers are configured:
Internet -> SpeedTouch 510 -> Linksys BEFW11S4 -> Asterisk server
The SpeedTouch 510 is connected to the linksys WAN port. It uses DMZ 'default server' to route all traffic to the WAN port of the Linksys router. The Linksys router again transfers all data using DMZ to the Asterisk server.
My computer connects true the Linksys router to the Asterisk server.
I found out that the problem was caused by a bug: http://bugs.digium.com/vie
The Asterisk server was downgraded due to the fax which was not compatible with the new version.
I will ask an admin to give you 50% of the points for your help. Thanks a lot for helping!
Business Accounts
Answer for Membership
by: TagorPosted on 2006-02-11 at 17:27:15ID: 15932900
Here is some extra information: if I get the mailbox and say something then it is recorded correctly. This is when I call from outside and when I use a sip software phone.
So it's only if there is a connection between two users, then I don't hear anything.