I’m experimenting with a Handy Tone 386 ATA as a device to make and receive calls through the Asterisk PBX and the traditional PBX at the company. We’re using Asterisk 1.2.5 on Fedora Core 4 which is woring perfectly with X-Lite soft phones. With the handy Tone 386 ATA everything works perfectly except receiving external phone calls. In other words, I can:
a) make calls to other extensions
b) receive calls from other extensions
c) make calls to any PSTN phone
When I receive a call from a PSTN, what happens is that I hear noise instead of the correct audios stream. This only happens on the extension when it uses the ATA and only after the connection is made to the extension, not when Asterisk answers (background greeting and “dial the extension of the party…”). To me this looks like a codec conversion problem but I can’t find the right combination.
This is a fragment of the debug log for calls with noise:
Mar 24 18:39:02 DEBUG[6445] chan_sip.c: Acked pending invite 102
Mar 24 18:39:02 DEBUG[6445] chan_sip.c: Stopping retransmission on ‘0d631de12b8fc73b7b31e848342417cf@10.1.9.1’ of Request 102: Match Found
Mar 24 18:39:02 DEBUG[6445] chan_sip.c: Oooh, we need to change our formats since our peer supports only 0x400 (ilbc) and not 0x4 (ulaw)
Mar 24 18:39:02 DEBUG[6445] chan_sip.c: build_route: Contact hop: sip:miguel@10.1.9.90
Mar 24 18:39:02 VERBOSE[6499] logger.c: – SIP/miguelk-25f4 answered SIP/company-a347
Mar 24 18:39:02 DEBUG[6499] channel.c: Scheduling timer at 0 sample intervals
Mar 24 18:39:02 VERBOSE[6499] logger.c: – Attempting native bridge of SIP/company-a347 and SIP/miguel-25f4
Mar 24 18:39:08 DEBUG[6499] channel.c: Didn’t get a frame from channel: SIP/miguel-25f4
Mar 24 18:39:08 DEBUG[6499] channel.c: Bridge stops bridging channels SIP/company-a347 and SIP/miguel-25f4
Mar 24 18:39:08 DEBUG[6499] chan_sip.c: update_call_counter(miguel) - decrement call limit counter
This is a fragment of a call (extension to extension) that works perfectly:
Mar 24 18:47:35 DEBUG[6931] chan_sip.c: Acked pending invite 102
Mar 24 18:47:35 DEBUG[6931] chan_sip.c: Stopping retransmission on ‘24ad8e535f22eb30218cfe3a30085b1d@10.1.9.1’ of Request 102: Match Found
Mar 24 18:47:35 DEBUG[6931] chan_sip.c: build_route: Contact hop: sip:miguel@10.1.9.90
Mar 24 18:47:35 VERBOSE[6959] logger.c: – SIP/miguel-4726 answered SIP/rita-749b
Mar 24 18:47:35 VERBOSE[6959] logger.c: – Attempting native bridge of SIP/rita-749b and SIP/miguel-4726
Mar 24 18:47:35 DEBUG[6931] chan_sip.c: Stopping retransmission on ‘1B2C4209-E646-44C7-820C-C4456348C6E8@10.1.9.30’ of Response 1784: Match Found
Mar 24 18:47:35 DEBUG[6959] chan_sip.c: Oooh, format changed to 2
Mar 24 18:47:40 DEBUG[6959] channel.c: Didn’t get a frame from channel: SIP/ritan-749b
Mar 24 18:47:40 DEBUG[6959] channel.c: Bridge stops bridging channels SIP/rita-749b and SIP/miguel-4726
Mar 24 18:47:40 DEBUG[6959] chan_sip.c: update_call_counter(miguel) - decrement call limit counter
The difference is in the line (in the first log) about the peer (I assume this means the sip server my voip provider offers) not supporting ulaw.
The output from the console about these peers looks like this:
poirotCLI> sip show peer miguel
poirotCLI>
- Name : miguel
Secret :
MD5Secret :
Context : internos
Subscr.Cont. :
Language :
AMA flags : Unknown
CallingPres : Presentation Allowed, Not Screened
Callgroup :
Pickupgroup :
Mailbox :
VM Extension : asterisk
LastMsgsSent : -1
Call limit : 0
Dynamic : Yes
Callerid : “Miguel” <>
Expire : 2
Insecure : no
Nat : Always
ACL : No
CanReinvite : No
PromiscRedir : No
User=Phone : No
Trust RPID : No
Send RPID : No
DTMFmode : rfc2833
LastMsg : 0
ToHost :
Addr->IP : 10.1.9.90 Port 5060
Defaddr->IP : 0.0.0.0 Port 5060
Def. Username: miguel
SIP Options : (none)
Codecs : 0x40e (gsm|ulaw|alaw|ilbc)
Codec Order : (ilbc,alaw,ulaw,gsm)
Status : OK (10 ms)
Useragent :
Reg. Contact : sip:miguel@10.1.9.90
poirotCLI> sip show peer vono
poirotCLI>
- Name : vono
Secret :
MD5Secret :
Context : vono-in
Subscr.Cont. :
Language :
AMA flags : Unknown
CallingPres : Presentation Allowed, Not Screened
FromUser : company
FromDomain : vono.net.br
Callgroup :
Pickupgroup :
Mailbox :
VM Extension : asterisk
LastMsgsSent : -1
Call limit : 0
Dynamic : No
Callerid : “Company” <>
Expire : -1
Insecure : port,invite
Nat : Always
ACL : No
CanReinvite : No
PromiscRedir : No
User=Phone : No
Trust RPID : No
Send RPID : No
DTMFmode : rfc2833
LastMsg : 0
ToHost : vono.net.br
Addr->IP : 200.146.165.79 Port 5060
Defaddr->IP : 0.0.0.0 Port 0
Def. Username: ktexlogin
SIP Options : (none)
Codecs : 0x40e (gsm|ulaw|alaw|ilbc)
Codec Order : (ilbc,alaw,ulaw,gsm)
Status : OK (158 ms)
Useragent :
Reg. Contact :
The FXS port on the Handy Tone has this codec preference order defined:
PCMU
PCMA
iLBC
G726-32
G729
iLBC
I would appreciate any clues about how to configure the Handy Tone 386 and/or Asterisk for this situation.