Problem with one way calling (solved)

Hi all,

This is not an audio problem.

I have 2 sites and I’m trying to trunk between the 2 using IAX. I have this working with other servers but seem to be having a problem getting it working with a new one.

One server can call the other and all works perfectly. Audio is there and no problems. But when the call direction is reversed I get the following from iax2 set debug on the originating server

Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00016ms SCall: 14617 DCall: 00000 [x.x.x.x:4569]
VERSION : 2
CALLED NUMBER : 9000
CODEC_PREFS : (ulaw|alaw)
CALLING NUMBER : 532
CALLING PRESNTN : 0
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
CALLING NAME : AndrewC
LANGUAGE : en
USERNAME : p2nz
FORMAT : 4
CAPABILITY : 57356
ADSICPE : 2
DATE TIME : 2010-02-22 10:30:04
perthfwCLI>
Rx-Frame Retry[Yes] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REJECT
Timestamp: 00016ms SCall: 00001 DCall: 14617 [203.173.160.33:4569]
Tx-Frame Retry[-01] – OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00016ms SCall: 14617 DCall: 00001 [203.173.160.33:4569]
perthfw
CLI>

and I see the following from the recieving side

Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00014ms SCall: 06194 DCall: 00000 [x.x.x.x:4569]
VERSION : 2
CALLED NUMBER : 9000
CODEC_PREFS : (ulaw|alaw)
CALLING NUMBER : 532
CALLING PRESNTN : 0
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
CALLING NAME : AndrewC
LANGUAGE : en
USERNAME : p2nz
FORMAT : 4
CAPABILITY : 57356
ADSICPE : 2
DATE TIME : 2010-02-22 10:38:04
nzfw*CLI>
Rx-Frame Retry[ No] – OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00014ms SCall: 06194 DCall: 00001 [203.161.115.142:4569]

I have confirmed the IP’s are corect and the firewall is open to the appropriate ports (otherwise I wouldnt have got this far). Passwords on both sides are the same and unique across all sites.

The following is the freepbx originating peer details

username=p2nz
type=peer
secret=*****
host=x.x.x.x
disallow=all
allow=alaw&ulaw
context=p2nz

and the user details (context=nz2p)

type=user
secret=*****
disallow=all
context=from-internal
allow=alaw&ulaw

and the receiving sides peer details

username=nz2p
type=peer
secret=*****
host=x.x.x.x
disallow=all
context=nz2p
allow=alaw&ulaw

and the user details (context=p2nz)

type=user
secret=*****
disallow=all
context=from-internal
allow=alaw&ulaw

From what I have been able to figure out, the rejection points to invalid passwords, contexts, or usernames that can’t be matched in the other side, but I have check many times and these match.

The originator is running freepbx ver 2.6.0.1 and the receiver ver 2.6.0.1

Asterisk version on originator 1.4.19.2 but also tested with ver 1.4.21.1
Receiver has ver 1.6.2.2 but was also tested with a 1.4 version too

The receiver has trunk-yes in iax_custom.conf but the originator does not (I have tried with both missing and its the same problem). The originator is already part of a group where the trunking between it and other servers works correctly in both directions.

Can anyone see any problems with this configuration that I may have missed ?

Thanks,
Andrew

type=user secret=***** disallow=all context=from-internal <=== from-trunk allow=alaw&ulaw

I changed it to from-trunk but same problem

After many days of trying just about every combination of parameters I could think of, including downloading the latest 1.4 and 1.6 versions (neither of which I could make work in both directions using an IAX trunk) I finally downloaded the same version as I had on one of our other servers (Ver 1.4.19.2) and everything now works on the IAX trunk and calls work in both directions now.

The other versions of servers in the mix are 1.4.11 and 1.4.21.1

I know the configuration didnt change (not the bits I was interested in) as the config files were all generated by FreePBX so after rebuilding the 1.4.19.2 version I just forced FreePBX to regenerate the config files.

Hope this helps someone else

Andrew