I have an issue where * tries to route a call over IAX to another server even if the server is down. I have included the relevant entries from my iax.conf, extensions.conf, and some debug output. If someone could tell me what I have configured incorrectly, I would appreciate it. Thanks, Stephen -----------iax.conf on voip2---------- [voip1] type=friend username=voip1 host=x.x.x.x (ip address of voip1) port=5036 mask=255.255.255.255 qualify=yes ; Make sure this peer is alive trunk=no context=IAX ----------iax.conf on voip1----------- [voip2] type=friend username=voip2 host=x.x.x.x (ip address of voip2) port=5036 mask=255.255.255.255 qualify=yes ; Make sure this peer is alive trunk=no context=IAX ---------extensions.conf on voip1-------- exten => 8475551212,3,Dial(IAX/voip2@voip1.me.net/${EXTEN},,r) ---------extensions.conf on voip2-------- exten => 8475551212,3,Dial(IAX/voip1@voip2.me.net/${EXTEN},,r) voip1*CLI> iax show users Username Secret Authen Def.Context A/C voip2 md5,plaintext IAX No voip1*CLI> iax show peers Name/Username Host Mask Port Status voip2/voip2 x.x.x.x (S) 255.255.255.255 5036 UNREACHABLE voip2*CLI> iax show users Username Secret Authen Def.Context A/C voip1 md5,plaintext IAX No voip2*CLI> iax show peers Name/Username Host Mask Port Status voip1/voip1 x.x.x.x (S) 255.255.255.255 5036 UNREACHABLE voip1*CLI> iax debug Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[-01] -- Seqno: 00 Type: IAX Subclass: ACK Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 01 Type: IAX Subclass: ACK Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: INVAL Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE voip1*CLI> voip2*CLI> iax debug IAX Debugging Enabled Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[-01] -- Seqno: 00 Type: IAX Subclass: ACK Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 01 Type: IAX Subclass: ACK Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: INVAL Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE voip2*CLI>
I have modified the configuration for dynamic host and registered each server with the other. The iax show users now lists the other iax device as registered vs unavailable, but I still don't know how to keep it from calling if the device becomes unavailable. I changed the extensions file to: exten => 8475551212,3,Dial(IAX/voip1@voip2/${EXTEN},,r) also tried: exten => 8475551212,3,Dial(IAX/voip2/${EXTEN},,r) since voip2 is now a registered user, but it is not trying to call the other server. If I leave it as voip1@voip2.me.net it works as long as the trunk is up but it doesn't check to make sure before sending the call there. Any suggestions? ------------------------------------------------------------------------ --- To: asterisk-users@lists.digium.com Subject: [Asterisk-Users] IAX trunk monitoring I have an issue where * tries to route a call over IAX to another server even if the server is down. I have included the relevant entries from my iax.conf, extensions.conf, and some debug output. If someone could tell me what I have configured incorrectly, I would appreciate it. Thanks, Stephen -----------iax.conf on voip2---------- [voip1] type=friend username=voip1 host=x.x.x.x (ip address of voip1) port=5036 mask=255.255.255.255 qualify=yes ; Make sure this peer is alive trunk=no context=IAX ----------iax.conf on voip1----------- [voip2] type=friend username=voip2 host=x.x.x.x (ip address of voip2) port=5036 mask=255.255.255.255 qualify=yes ; Make sure this peer is alive trunk=no context=IAX ---------extensions.conf on voip1-------- exten => 8475551212,3,Dial(IAX/voip2@voip1.me.net/${EXTEN},,r) ---------extensions.conf on voip2-------- exten => 8475551212,3,Dial(IAX/voip1@voip2.me.net/${EXTEN},,r) voip1*CLI> iax show users Username Secret Authen Def.Context A/C voip2 md5,plaintext IAX No voip1*CLI> iax show peers Name/Username Host Mask Port Status voip2/voip2 x.x.x.x (S) 255.255.255.255 5036 UNREACHABLE voip2*CLI> iax show users Username Secret Authen Def.Context A/C voip1 md5,plaintext IAX No voip2*CLI> iax show peers Name/Username Host Mask Port Status voip1/voip1 x.x.x.x (S) 255.255.255.255 5036 UNREACHABLE voip1*CLI> iax debug Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[-01] -- Seqno: 00 Type: IAX Subclass: ACK Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 01 Type: IAX Subclass: ACK Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: INVAL Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE voip1*CLI> voip2*CLI> iax debug IAX Debugging Enabled Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[-01] -- Seqno: 00 Type: IAX Subclass: ACK Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 01 Type: IAX Subclass: ACK Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: INVAL Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE voip2*CLI> _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users
Creating a separate user and peer does allow me to call over the trunk using this format: exten => 8475551212,3,Dial(IAX/voip2/${EXTEN},31,r) (this must be a bug. Why would the same format not work for a friend?) It does not solve my original problem of failing the call if the trunk is down. Calls now are always sent to the voip2 iax user regardless of whether that user is connected. Also, voip2 was created as a user and voip2peer was created as a peer. If I use: exten => 8475551212,3,Dial(IAX/voip2peer/${EXTEN},31,r) or exten => 8475551212,3,Dial(IAX/voip1@voip2peer/${EXTEN},31,r) the call fails as unavailable regardless of whether or not the other server is running. The registry information looks wrong too: voip1*CLI> iax show registry Host Username Perceived Refresh State 209.242.15.34:5036 voip1peer <Unregistered> 60 Request Sent 209.242.15.34:5036 voip1 <Unregistered> 60 Rejected> -----Original Message----- > From: Philipp von Klitzing [mailto:klitzing@pool.informatik.rwth- > aachen.de] > Sent: Friday, November 14, 2003 4:08 AM > To: Steve Dolloff > Subject: RE: [Asterisk-Users] IAX trunk monitoring > > You might want to try this: > > split the entries for voip1 and voip2, i.e. instead of type=friendhave> an entry for type=peer and type=user for each of the two machines. > > Greetings, Philipp > >I have modified the configuration for dynamic host and registered each server with the other. The iax show users now lists the other iax device as registered vs unavailable, but I still don't know how to keep it from calling if the device becomes unavailable. I changed the extensions file to: exten => 8475551212,3,Dial(IAX/voip1@voip2/${EXTEN},,r) also tried: exten => 8475551212,3,Dial(IAX/voip2/${EXTEN},,r) since voip2 is now a registered user, but it is not trying to call the other server. If I leave it as voip1@voip2.me.net it works as long as the trunk is up but it doesn't check to make sure before sending the call there. Any suggestions? ------------------------------------------------------------------------ --- To: asterisk-users@lists.digium.com Subject: [Asterisk-Users] IAX trunk monitoring I have an issue where * tries to route a call over IAX to another server even if the server is down. I have included the relevant entries from my iax.conf, extensions.conf, and some debug output. If someone could tell me what I have configured incorrectly, I would appreciate it. Thanks, Stephen -----------iax.conf on voip2---------- [voip1] type=friend username=voip1 host=x.x.x.x (ip address of voip1) port=5036 mask=255.255.255.255 qualify=yes ; Make sure this peer is alive trunk=no context=IAX ----------iax.conf on voip1----------- [voip2] type=friend username=voip2 host=x.x.x.x (ip address of voip2) port=5036 mask=255.255.255.255 qualify=yes ; Make sure this peer is alive trunk=no context=IAX ---------extensions.conf on voip1-------- exten => 8475551212,3,Dial(IAX/voip2@voip1.me.net/${EXTEN},,r) ---------extensions.conf on voip2-------- exten => 8475551212,3,Dial(IAX/voip1@voip2.me.net/${EXTEN},,r) voip1*CLI> iax show users Username Secret Authen Def.Context A/C voip2 md5,plaintext IAX No voip1*CLI> iax show peers Name/Username Host Mask Port Status voip2/voip2 x.x.x.x (S) 255.255.255.255 5036 UNREACHABLE voip2*CLI> iax show users Username Secret Authen Def.Context A/C voip1 md5,plaintext IAX No voip2*CLI> iax show peers Name/Username Host Mask Port Status voip1/voip1 x.x.x.x (S) 255.255.255.255 5036 UNREACHABLE voip1*CLI> iax debug Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[-01] -- Seqno: 00 Type: IAX Subclass: ACK Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 01 Type: IAX Subclass: ACK Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: INVAL Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE voip1*CLI> voip2*CLI> iax debug IAX Debugging Enabled Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[-01] -- Seqno: 00 Type: IAX Subclass: ACK Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 01 Type: IAX Subclass: ACK Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: PONG Rx-Frame Retry[N/A] -- Seqno: 00 Type: IAX Subclass: INVAL Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[000] -- Seqno: 00 Type: IAX Subclass: POKE Tx-Frame Retry[001] -- Seqno: 00 Type: IAX Subclass: POKE voip2*CLI>