I recently deployed a new system built with Asterisk 1.4.15 to replace a badly built 1.2 version system. Everything seems to be working fine except for transferring calls between some of our Cisco 7960 phones. The case setup is basically call comes in via PSTN, hits our server, is transferred via IAX to our other server, and then to the first phone. First phone answers the call, presses the transfer button, call quality is ok during the consult phases, hangs up or presses transfer again to finish the transfer to phone 2, and the when phone 2 and the original caller are connected the audio from caller to phone 2 is not being transferred but the audio from phone 2 to caller is. The blindxfer function on the Cisco appears to be working and the software blindxfer (press #) appears to be working. We have Polycom phones as well, and they all seem to work perfectly (whether talking to the Ciscos or not).
I’m not seeing a lot in the logs when the issue happens except for this:
WARNING[17516]: chan_sip.c:3634 sip_write: Asked to transmit frame type 64, while native formats is 0x4 (ulaw)(4) read/write = 0x4 (ulaw)(4)/0x4 (ulaw)(4)
This message basically floods in while the call is still connected. No audio should be being transmitted in type 64 (whatever that is). The IAX tunnel is set to only use ulaw:
disallow=all
allow=ulaw
I’m seeing these messages in my debug logs (not necessarily together):
DEBUG[2718] chan_iax2.c: Ooh, voice format changed to 4
DEBUG[3580] chan_iax2.c: Received iseqno 34 not within window 35->35
Here is IAX.conf one (IP’s and names changed to protect the innocent):
[general]
bindport=4569
bindaddr=192.168.0.150
language=en
disallow=all
allow=ulaw
jitterbuffer=no
forcejitterbuffer=no
autokill=yes
[svr2-svr1]
type=user
secret=******
context=pri-inbound
permit=192.168.1.82
[svr1-svr2]
type=peer
username=svr1-svr2
secret=******
host=192.168.1.82
qualify=yes
And this is file two:
[general]
bindport=4569
bindaddr=192.168.1.82
language=en
disallow=all
allow=ulaw
jitterbuffer=no
forcejitterbuffer=no
autokill=yes
[svr1-svr2]
type=user
secret=******
context=outbound
permit=192.168.0.150
[svr2-svr1]
type=peer
username=svr2-svr1
secret=******
host=192.168.0.150
qualify=yes
Any ideas? The warnings in the log make me think maybe this is an IAX problem? Thanks for the help.