IAX Client help


#1

Hi,
I’m trying to connect to my asterisk server with an IAX client behind a firewall, but it won’t seem to connect. Here’s an excerpt from the log(I replaced my IP address with X’s):

Mar 10 12:24:35 VERBOSE[2660] logger.c: Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Mar 10 12:24:35 VERBOSE[2660] logger.c: Timestamp: 00003ms SCall: 12748 DCall: 00000 [70.x.x.x:60593]
Mar 10 12:24:35 VERBOSE[2660] logger.c: USERNAME : 200
Mar 10 12:24:35 VERBOSE[2660] logger.c: REFRESH : 300
Mar 10 12:24:35 VERBOSE[2660] logger.c:
Mar 10 12:24:35 VERBOSE[2660] logger.c: Tx-Frame Retry[-01] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Mar 10 12:24:35 VERBOSE[2660] logger.c: Timestamp: 00003ms SCall: 00001 DCall: 12748 [70.x.x.x:60593]
Mar 10 12:24:35 VERBOSE[2660] logger.c: Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGAUTH
Mar 10 12:24:35 VERBOSE[2660] logger.c: Timestamp: 00006ms SCall: 00001 DCall: 12748 [70.x.x.x:60593]
Mar 10 12:24:35 VERBOSE[2660] logger.c: AUTHMETHODS : 2
Mar 10 12:24:35 VERBOSE[2660] logger.c: CHALLENGE : 971517226
Mar 10 12:24:35 VERBOSE[2660] logger.c: USERNAME : 200
Mar 10 12:24:35 VERBOSE[2660] logger.c:
Mar 10 12:24:35 VERBOSE[2660] logger.c: Rx-Frame Retry[Yes] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Mar 10 12:24:35 VERBOSE[2660] logger.c: Timestamp: 00003ms SCall: 12748 DCall: 00000 [70.x.x.x:60593]
Mar 10 12:24:35 VERBOSE[2660] logger.c: USERNAME : 200
Mar 10 12:24:35 VERBOSE[2660] logger.c: REFRESH : 300
Mar 10 12:24:35 VERBOSE[2660] logger.c:
Mar 10 12:24:35 VERBOSE[2660] logger.c: Tx-Frame Retry[-01] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Mar 10 12:24:35 VERBOSE[2660] logger.c: Timestamp: 00003ms SCall: 00001 DCall: 12748 [70.x.x.x:60593]
Mar 10 12:24:36 VERBOSE[2660] logger.c: Rx-Frame Retry[Yes] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Mar 10 12:24:36 VERBOSE[2660] logger.c: Timestamp: 00003ms SCall: 12748 DCall: 00000 [70.x.x.x:60593]
Mar 10 12:24:36 VERBOSE[2660] logger.c: USERNAME : 200
Mar 10 12:24:36 VERBOSE[2660] logger.c: REFRESH : 300
Mar 10 12:24:36 VERBOSE[2660] logger.c:
Mar 10 12:24:36 VERBOSE[2660] logger.c: Tx-Frame Retry[-01] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Mar 10 12:24:36 VERBOSE[2660] logger.c: Timestamp: 00003ms SCall: 00001 DCall: 12748 [70.x.x.x:60593]
Mar 10 12:24:37 VERBOSE[2660] logger.c: Rx-Frame Retry[Yes] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Mar 10 12:24:37 VERBOSE[2660] logger.c: Timestamp: 00003ms SCall: 12748 DCall: 00000 [70.x.x.x:60593]
Mar 10 12:24:37 VERBOSE[2660] logger.c: USERNAME : 200
Mar 10 12:24:37 VERBOSE[2660] logger.c: REFRESH : 300

Any help would be appreciated. I even tried running from the DMZ and still the same issue.
Thanx


#2

need more specifics about your network configuration…


#3

The Asterisk PBX is outside my lan and is not behind a firewall.
My computer is behind a D-Link DI-524 router. I have the same problem using iaxcomm on my computer as well as when using my IAXy s101.
I’ve tried port forwarding for either device as well as putting either in the DMZ but no success.
Thanx


#4

Hmmm, I wouldn’t think the client would need any special port forwarding (udp 4569 at the most, one of the big advantages of ax vs sip.) Is that the port you were forwarding?


#5

Yes.
I also try running iaxping from my computer and get the following:

Failed bind 4569[Address already in use]. Unless your firewall permits UDP access to dynamic ports iaxping will not work


#6

I’m guessing iaxping doesn’t work because you have the IAX client active? If so, quit the client and try again?


#7

Got IAXping to not show that error. Thanx.
Here’s the weird thing though. I got my iaxy to work but I’m not sure exactly why this is the case. My Asterisk PBX has multiple IPs. One is configured to en0 and others to en0:1 en0:2 etc.
The IP I was originally using was en0:1. However, when I switched to the en0 number, I got IAXy to work. I have no clue why it should work like this considering SIP was okay with the en0:1 IP.
My iax.conf bindaddr is set to 0.0.0.0
Could that be a problem with multiple IPs? Would I be able to use the en0:1 IP is i set bindaddr to its IP?


#8

Ah, I bet I know what’s going on. If you have multiple IP addresses on the asterisk server, there’s a good chance that the packets coming back from it are coming from the primary IP address, which confuses the packet inspection code in your DLINK (e.g. it sends a UDP packet to address X, but gets a response from Y, and throws it away…)


#9

Why should it work for SIP though?
Do you think if I switch the IP address to en1(and plug a cable into the second ethernet port), that would solve the X,Y issue? Or would the primary IP always be en0 no matter how many NICs I have.


#10

WTF? What does SIP have to do with this? This is the first you’re mentioning SIP!


#11

Language!
I’m sorry I forgot to metion that I have a SIP ATA as well that worked fine with the second IP. Perhaps STUN helps out with this issue.