Koozali.org: home of the SME Server

Extension always unavailable

Offline madadam

  • *
  • 149
  • +0/-0
    • http://www.extremetourist.com
Extension always unavailable
« on: April 10, 2013, 05:48:24 AM »
Hi there,

I've had this problem before and was never able to resolve it, however it went away when I installed new versions. Now this problem has come up again on another client machine running sail-2.6.1-11 with Asterix 1.4.42.

What happens is that when you ring an extension you get put straight through to voicemail with the unavailable message. Now oddly if you ring that same extension using the three number alias it works fine.

Here is the AGI debug dump:
Code: [Select]

    -- Executing [5101@internal:1] AGI("SIP/5202-00000001", "selintra|OutCluster|5101") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/selintra
AGI Tx >> agi_request: selintra
AGI Tx >> agi_channel: SIP/5202-00000001
AGI Tx >> agi_language: en
AGI Tx >> agi_type: SIP
AGI Tx >> agi_uniqueid: 1365563767.1
AGI Tx >> agi_callerid: 5202
AGI Tx >> agi_calleridname: Louise
AGI Tx >> agi_callingpres: 0
AGI Tx >> agi_callingani2: 0
AGI Tx >> agi_callington: 0
AGI Tx >> agi_callingtns: 0
AGI Tx >> agi_dnid: 5101
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: internal
AGI Tx >> agi_extension: 5101
AGI Tx >> agi_priority: 1
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode:
AGI Tx >>
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << GET VARIABLE ABSTIMEOUT
AGI Tx >> 200 result=0
AGI Rx << EXEC Set CDR(accountcode)=Macropet
    -- AGI Script Executing Application: (Set) Options: (CDR(accountcode)=Macropet)
AGI Tx >> 200 result=0
AGI Rx << SET PRIORITY 1
AGI Tx >> 200 result=0
AGI Rx << SET EXTENSION 5101
AGI Tx >> 200 result=0
AGI Rx << SET CONTEXT Macropet
AGI Tx >> 200 result=0
    -- AGI Script selintra completed, returning 0
    -- Executing [5101@Macropet:1] AGI("SIP/5202-00000001", "selintra|InCall|") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/selintra
AGI Tx >> agi_request: selintra
AGI Tx >> agi_channel: SIP/5202-00000001
AGI Tx >> agi_language: en
AGI Tx >> agi_type: SIP
AGI Tx >> agi_uniqueid: 1365563767.1
AGI Tx >> agi_callerid: 5202
AGI Tx >> agi_calleridname: Louise
AGI Tx >> agi_callingpres: 0
AGI Tx >> agi_callingani2: 0
AGI Tx >> agi_callington: 0
AGI Tx >> agi_callingtns: 0
AGI Tx >> agi_dnid: 5101
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: Macropet
AGI Tx >> agi_extension: 5101
AGI Tx >> agi_priority: 1
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode: Macropet
AGI Tx >>
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << GET VARIABLE ABSTIMEOUT
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << GET VARIABLE BLINDTRANSFER
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE VOICEINSTR
AGI Tx >> 200 result=1 (NO)
AGI Rx << DATABASE GET "STAT" "OCSTAT"
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE MTIME
AGI Tx >> 200 result=1 (disabled)
AGI Rx << DATABASE GET "cfimopen" "5101"
AGI Tx >> 200 result=0
AGI Rx << DATABASE GET "cfim" "5101"
---> AGI Tx >> 200 result=1 (5101)
AGI Rx << EXEC Playback silence/1
    -- AGI Script Executing Application: (Playback) Options: (silence/1)
    -- <SIP/5202-00000001> Playing 'silence/1' (language 'en')
AGI Tx >> 200 result=0
AGI Rx << EXEC Voicemail 5101|su
    -- AGI Script Executing Application: (Voicemail) Options: (5101|su)
    -- <SIP/5202-00000001> Playing '/var/spool/asterisk/voicemail/default/5101/unavail' (language 'en')
[Apr 10 11:16:08] NOTICE[13127]: chan_sip.c:14021 handle_response_peerpoke: Peer '5205' is now Reachable. (86ms / 3000ms)
    -- <SIP/5202-00000001> Playing 'beep' (language 'en')
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/default/5101/tmp/RetmK0 format: wav49, 0x8a94c68
    -- User hung up
    -- Recording was 0 seconds long but needs to be at least 2 - abandoning
AGI Tx >> 200 result=-1
  == Spawn extension (Macropet, 5101, 1) exited non-zero on 'SIP/5202-00000001'
    -- Executing [h@Macropet:1] Hangup("SIP/5202-00000001", "") in new stack
  == Spawn extension (Macropet, h, 1) exited non-zero on 'SIP/5202-00000001'

Following is a similar AGI debug dump from a successful call:
Code: [Select]

    -- Executing [5103@internal:1] AGI("SIP/5202-00000002", "selintra|OutCluster|5103") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/selintra
AGI Tx >> agi_request: selintra
AGI Tx >> agi_channel: SIP/5202-00000002
AGI Tx >> agi_language: en
AGI Tx >> agi_type: SIP
AGI Tx >> agi_uniqueid: 1365564059.2
AGI Tx >> agi_callerid: 5202
AGI Tx >> agi_calleridname: Louise
AGI Tx >> agi_callingpres: 0
AGI Tx >> agi_callingani2: 0
AGI Tx >> agi_callington: 0
AGI Tx >> agi_callingtns: 0
AGI Tx >> agi_dnid: 5103
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: internal
AGI Tx >> agi_extension: 5103
AGI Tx >> agi_priority: 1
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode:
AGI Tx >>
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << GET VARIABLE ABSTIMEOUT
AGI Tx >> 200 result=0
AGI Rx << EXEC Set CDR(accountcode)=Macropet
    -- AGI Script Executing Application: (Set) Options: (CDR(accountcode)=Macropet)
AGI Tx >> 200 result=0
AGI Rx << SET PRIORITY 1
AGI Tx >> 200 result=0
AGI Rx << SET EXTENSION 5103
AGI Tx >> 200 result=0
AGI Rx << SET CONTEXT Macropet
AGI Tx >> 200 result=0
    -- AGI Script selintra completed, returning 0
    -- Executing [5103@Macropet:1] AGI("SIP/5202-00000002", "selintra|InCall|") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/selintra
AGI Tx >> agi_request: selintra
AGI Tx >> agi_channel: SIP/5202-00000002
AGI Tx >> agi_language: en
AGI Tx >> agi_type: SIP
AGI Tx >> agi_uniqueid: 1365564059.2
AGI Tx >> agi_callerid: 5202
AGI Tx >> agi_calleridname: Louise
AGI Tx >> agi_callingpres: 0
AGI Tx >> agi_callingani2: 0
AGI Tx >> agi_callington: 0
AGI Tx >> agi_callingtns: 0
AGI Tx >> agi_dnid: 5103
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: Macropet
AGI Tx >> agi_extension: 5103
AGI Tx >> agi_priority: 1
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode: Macropet
AGI Tx >>
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << GET VARIABLE ABSTIMEOUT
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << GET VARIABLE BLINDTRANSFER
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE VOICEINSTR
AGI Tx >> 200 result=1 (NO)
AGI Rx << DATABASE GET "STAT" "OCSTAT"
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE MTIME
AGI Tx >> 200 result=1 (disabled)
AGI Rx << DATABASE GET "cfimopen" "5103"
AGI Tx >> 200 result=0
AGI Rx << DATABASE GET "cfim" "5103"
--->AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << DATABASE GET "STAT" "OCSTAT"
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE MTIME
AGI Tx >> 200 result=1 (disabled)
AGI Rx << GET VARIABLE VOICEINSTR
AGI Tx >> 200 result=1 (NO)
AGI Rx << DATABASE GET "cfimopen" "5103"
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << DATABASE GET "STAT" "OCSTAT"
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE MTIME
AGI Tx >> 200 result=1 (disabled)
AGI Rx << GET VARIABLE VOICEINSTR
AGI Tx >> 200 result=1 (NO)
AGI Rx << DATABASE GET "cfim" "5103"
AGI Tx >> 200 result=0
AGI Rx << SET VARIABLE __PICKUPMARK "5103"
AGI Tx >> 200 result=1
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << DATABASE GET "ringdelay" "5103"
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE INTRINGDELAY
AGI Tx >> 200 result=1 (30)
AGI Rx << GET VARIABLE EXTLEN
AGI Tx >> 200 result=1 (4)
AGI Rx << GET VARIABLE CALLRECORD1
AGI Tx >> 200 result=1 (OTR)
AGI Rx << GET VARIABLE MOH
AGI Tx >> 200 result=0
AGI Rx << EXEC Dial SIP/5103|30|ktTw
    -- AGI Script Executing Application: (Dial) Options: (SIP/5103|30|ktTw)
    -- Called 5103
    -- SIP/5103-00000003 is ringing
    -- SIP/5103-00000003 is ringing
    -- SIP/5103-00000003 is ringing
AGI Tx >> 200 result=-1
  == Spawn extension (Macropet, 5103, 1) exited non-zero on 'SIP/5202-00000002'
    -- Executing [h@Macropet:1] Hangup("SIP/5202-00000002", "") in new stack
  == Spawn extension (Macropet, h, 1) exited non-zero on 'SIP/5202-00000002'

I've prefixed the lines with "--->" where it begins differ.

I'm hoping this is enough for the Selintra guys to point me in the direction of what may be causing the problem.

Cheers,

Adam
...

Offline SARK devs

  • *****
  • 2,806
  • +1/-0
    • http://sarkpbx.com
Re: Extension always unavailable
« Reply #1 on: April 10, 2013, 10:00:01 PM »
Hi there

In the first call, the phone you are attempting to call is in DND i.e. it has an unconditional forward to itself.
Code: [Select]
AGI Rx << DATABASE GET "cfim" "5101"
AGI Tx >> 200 result=1 (5101)
You can turn it off in the extensions panel CFIM box or you can do *23* at the phone.  Aliases ignore call forward instructions which is why you could call it OK with an alias

Kind Regards

S

Offline madadam

  • *
  • 149
  • +0/-0
    • http://www.extremetourist.com
Re: Extension always unavailable
« Reply #2 on: April 11, 2013, 02:55:11 AM »
Thanks guys - really very simple! Now the question is how did call forward immediate come to be on? I will look into that to see if it can be prevented accidentally in the future.

Adam
...

Offline SARK devs

  • *****
  • 2,806
  • +1/-0
    • http://sarkpbx.com
Re: Extension always unavailable
« Reply #3 on: April 11, 2013, 10:27:12 AM »
Hi

In the release you have it is turned on with *20* at the phone.

All of the available feature codes for 2.x releases can be found here

http://www.sailpbx.com/twiki/bin/view/Main/DocChapter27

Kind regards

S

Offline madadam

  • *
  • 149
  • +0/-0
    • http://www.extremetourist.com
Re: Extension always unavailable
« Reply #4 on: April 12, 2013, 02:33:25 AM »
I can find no record of that being done and no-one knew how. It's possible it was done accidentally but I would have thought I'd been able to find it logged on either the phone or asterix. It's only happened in the last week.

Is it possible something else can trigger it?

Adam
...

Offline SARK devs

  • *****
  • 2,806
  • +1/-0
    • http://sarkpbx.com
Re: Extension always unavailable
« Reply #5 on: April 12, 2013, 09:47:21 PM »
What kind of phones you got and how do you provision them?

Kind Regards

s

Offline compsos

  • *
  • 472
  • +0/-0
Re: Extension always unavailable
« Reply #6 on: April 13, 2013, 04:58:33 AM »
Hi MadAdam
We have seen similar with Yealink TP26 phones in the end I added to the phones provisioning
Code: [Select]
[ Forbidden ]
 path = /config/Setting/AdvSetting.cfg
 DND = 1

Like you the phone did not show it was on nor did anyone own up to setting it. Hope this helps.
Regards

Gordon............

Offline madadam

  • *
  • 149
  • +0/-0
    • http://www.extremetourist.com
Re: Extension always unavailable
« Reply #7 on: April 15, 2013, 02:18:47 AM »
We use Snom phones which have always proved to be quite reliable and easy to configure. We manually provision the phones by customising a standard XML configuration file and saving it for later reference and then uploading to the phone.

Cheers,

Adam
...

Offline compsos

  • *
  • 472
  • +0/-0
Re: Extension always unavailable
« Reply #8 on: April 15, 2013, 02:23:05 AM »
We have used both the Yealink and Snom M9s and MP. The yealinks have give us less problems. We have a MP that does not send audio out properly whilst all the Yealinks on the system have no problems. Still looking for the cause. Do you have an XML file for the MP?
Regards

Gordon............

Offline madadam

  • *
  • 149
  • +0/-0
    • http://www.extremetourist.com
Re: Extension always unavailable
« Reply #9 on: April 15, 2013, 02:26:49 AM »
Hi Gordon,

I will be reviewing the Yaelinks shortly. One of my suppliers (Graeme Fleming who is active here on Contribs) got hold of some. I look forward to that.

I do have some XML files but right now I just arrived on Bali over the weekend for a two week holiday - just checkin in :-)

Cheers,

Adam
...

Offline compsos

  • *
  • 472
  • +0/-0
Re: Extension always unavailable
« Reply #10 on: April 15, 2013, 02:58:08 AM »
Hi Adam
Enjoy the holiday.
We have a lot of TP26Ps in service so willing to exchange provisioning files. But they have been so easy. Just maybe a little short on some codecs which we rarely use.
Regards

Gordon............

Offline SARK devs

  • *****
  • 2,806
  • +1/-0
    • http://sarkpbx.com
Re: Extension always unavailable
« Reply #11 on: April 15, 2013, 10:35:11 AM »
As you probably know we work mainly with Snom and Yealink, largely because the UK distributor of SARK is also the distributor for those two brands.  Are you aware that both Snom and Yealink are capable of PnP provisioning with SARK?   Its pretty cool and you don't need to do anything special with your DHCP server because PnP doesn't use it.   Just turn it on (tab 2 of globals panel) and off you go.  You can also turn on zero touch provisioning (ZTP) for new phones.  Turn it on, take a new phone out of its box, plug it into the network and it will be automatically defined and provisioned by SARK.  It makes for very fast roll-out of a new system.  Don't forget to turn ZTP off again after you've done the install.

Best

S