IAX2 channel problem


#1

Hi ,

I hv 2 * which, 1 is locate at public network and 1 is locate at private network.

i have register the private * to the public * and it able to make call fr private * to public *.

but yesterday i come out this error.

– Executing Dial(“SIP/2770-e471”, “iax2/Remote_server/$5000”) in new stack
Apr 13 17:45:31 NOTICE[6080]: app_dial.c:1011 dial_exec_full: Unable to create channel of type ‘iax2’ (cause 3 - No route to destination)
== Everyone is busy/congested at this time (1:0/0/1)
– Executing Hangup(“SIP/2770-e471”, “”) in new stack
== Spawn extension (call_*2, 5000, 2) exited non-zero on ‘SIP/2770-e471’

now i cannt call the ext at public *
plz help me and give me some advice

thanks


#2

99% bet that your internetconnection is down.

Do a

IAX2 show peers

at the CLI and check what the peer reads.
I guess its “UNREACHABLE”.

Check your internetlines


#3

my internet connection is ok, i can register to the * public

Host Username Perceived Refresh State
xxx.xxx.xxx.x:4569 Receive_se xxx.xxx.xxx.xxx:10042 60 Registered

this is the CLI from my * private. when i put iax2 show peers

Name/Username Host Mask Port Status
Receive_server xxx.xx.xxx.xxx (D) 255.255.255.255 10176 OK (107 ms)

this is the CLI from my *public when i put IAX2 show peers


#4

Ok, internet is up, good.

– Executing Dial(“SIP/2770-e471”, “iax2/Remote_server/$5000”)
What is the $ in front of the 5000 btw ?

Can you post the correspondending sniplet from the dialplan ?


#5

Below is the config of my private *

IAX.conf
[Remote_server]
username=Remote_server
type=peer
host=dynamic
secret=password

Extensions.conf
[call_*2]
exten => 5000,1,Dial(iax2/Remote_server/5000)
exten => 5000,2,Hangup

below is the config of my public *

IAX.conf
[Receive_server]
type=friend
host=dynamic
secret=password
context=external
trunk=yes
qualify=yes

Extensions.conf
[external]
exten => 5000,1,Dial(IAX2/5000,10)
exten => 5000,2,Hangup


#6

Below is the config of my private *

IAX.conf
[Remote_server]
username=Remote_server
type=peer
host=dynamic
secret=password

Extensions.conf
[call_*2]
exten => 5000,1,Dial(iax2/Remote_server/5000)
exten => 5000,2,Hangup

below is the config of my public *

IAX.conf
[Receive_server]
type=friend
host=dynamic
secret=password
context=external
trunk=yes
qualify=yes

Extensions.conf
[external]
exten => 5000,1,Dial(IAX2/5000,10)
exten => 5000,2,Hangup


#7

I cant see a registration context in the public server iax.conf for the private ?

See, the call frmo the private is made via the IAX context REMOTE-SERVER

The authentication for the remoteserver (the entry in thr private iax.conf)
is reading
USERNAME=Remote_Server

But on the remoteserver side there is no
REMOTE-SERVER user entry in the iax.conf
Its called RECEIVE_SERVER !!

You need to make sure, that the usercredentials the private is using are reflected by the public’s iax.conf

It might be the servers are connected, but i doubt they are AUTHENTICATED for calls…


#8

From what i observe is , the iax2 channel maybe is hang over there , coz before that it is no problem to connect from my private * to the public *.

This is the error keep coming from the public *

Apr 15 11:16:05 NOTICE[1939]: chan_iax2.c:7800 iax2_poke_peer: Still have a callno…