Jump to content
EduGeek EdSec 2026 is Go! 27th Oct in Derby! Join us for a day of EdTech security focused talks, networking, and an evening social ×

Recommended Posts

Posted

Hi All

 

Is there anyone out there running Asterisk with a BT ISDNe circuit?

 

Particularly the FreePBX 2.11 distro

 

I'm having a little issue that I'm hoping someone could advise me with.

 

Cheers

Posted

Personally not. But id love to see how this thread goes. We have ISDN lines and we need a new system.

 

How are you connecting the lines to the box?

 

Rick

Posted

We connect the lines to the Asterisk system via a Sangoma A101DE E1 Card.

 

We've just finished migrating 300 extensions from an old Alcatel over to Asterisk, lots of issues encountered but overall saving us a fair bit of cash in the process!

Posted (edited)

You can have a lot of fun if you do not know what the settings are for BT ISDN. For those of you who do not know they are:

 

switchtype=euroisdn
usecallerid=yes
cidsignalling=v23
pridialplan=unknown
prilocaldialplan=dynamic
signalling=bri_cpe

 

D Channel is 16 on ISDN30.

Edited by Geoff
Posted (edited)

I was made aware a few days ago that when someone is ringing in from the outside to an extension that is busy they got 20 seconds of ringing then cut off.

 

On searching about I found that I needed to have priindication=outofband set which then sends the correct Cause 17 (Busy) to BT for them to play the busy tones instead of having our system play the tones (which BT do not support).

 

On doing this now when calling in from the outside to a busy extension it gives a fraction of a second ringing then a long tone as the call is disconnected rather than signalling busy.

 

I'm not sure why and now stumped as setting the priindication should have solved the problem.

 

EDIT - I have traces etc available if anyone wants to have a look.

Edited by Sc00by
Posted (edited)

system.conf

span=1,0,0,CCS,HDB3,CRC4
bchan=1-15,17-31
hardhdlc=16
fxsks=32-39
echocanceller=oslec,32-39
loadzone=uk
defaultzone=uk

 

dahdi_cfg

 

DAHDI Tools Version - 2.10.0.1
DAHDI Version: 2.10.0.1
Echo Canceller(s): HWEC
Configuration
======================
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
Channel map:
Channel 01: Clear channel (Default) (Echo Canceler: none) (Slaves: 01)
Channel 02: Clear channel (Default) (Echo Canceler: none) (Slaves: 02)
Channel 03: Clear channel (Default) (Echo Canceler: none) (Slaves: 03)
Channel 04: Clear channel (Default) (Echo Canceler: none) (Slaves: 04)
Channel 05: Clear channel (Default) (Echo Canceler: none) (Slaves: 05)
Channel 06: Clear channel (Default) (Echo Canceler: none) (Slaves: 06)
Channel 07: Clear channel (Default) (Echo Canceler: none) (Slaves: 07)
Channel 08: Clear channel (Default) (Echo Canceler: none) (Slaves: 08)
Channel 09: Clear channel (Default) (Echo Canceler: none) (Slaves: 09)
Channel 10: Clear channel (Default) (Echo Canceler: none) (Slaves: 10)
Channel 11: Clear channel (Default) (Echo Canceler: none) (Slaves: 11)
Channel 12: Clear channel (Default) (Echo Canceler: none) (Slaves: 12)
Channel 13: Clear channel (Default) (Echo Canceler: none) (Slaves: 13)
Channel 14: Clear channel (Default) (Echo Canceler: none) (Slaves: 14)
Channel 15: Clear channel (Default) (Echo Canceler: none) (Slaves: 15)
Channel 16: Hardware assisted D-channel (Default) (Echo Canceler: none) (Slaves: 16)
Channel 17: Clear channel (Default) (Echo Canceler: none) (Slaves: 17)
Channel 18: Clear channel (Default) (Echo Canceler: none) (Slaves: 18)
Channel 19: Clear channel (Default) (Echo Canceler: none) (Slaves: 19)
Channel 20: Clear channel (Default) (Echo Canceler: none) (Slaves: 20)
Channel 21: Clear channel (Default) (Echo Canceler: none) (Slaves: 21)
Channel 22: Clear channel (Default) (Echo Canceler: none) (Slaves: 22)
Channel 23: Clear channel (Default) (Echo Canceler: none) (Slaves: 23)
Channel 24: Clear channel (Default) (Echo Canceler: none) (Slaves: 24)
Channel 25: Clear channel (Default) (Echo Canceler: none) (Slaves: 25)
Channel 26: Clear channel (Default) (Echo Canceler: none) (Slaves: 26)
Channel 27: Clear channel (Default) (Echo Canceler: none) (Slaves: 27)
Channel 28: Clear channel (Default) (Echo Canceler: none) (Slaves: 28)
Channel 29: Clear channel (Default) (Echo Canceler: none) (Slaves: 29)
Channel 30: Clear channel (Default) (Echo Canceler: none) (Slaves: 30)
Channel 31: Clear channel (Default) (Echo Canceler: none) (Slaves: 31)
Channel 32: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 32)
Channel 33: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 33)
Channel 34: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 34)
Channel 35: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 35)
Channel 36: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 36)
Channel 37: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 37)
Channel 38: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 38)
Channel 39: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 39)
39 channels to configure.
Setting echocan for channel 1 to none
Setting echocan for channel 2 to none
Setting echocan for channel 3 to none
Setting echocan for channel 4 to none
Setting echocan for channel 5 to none
Setting echocan for channel 6 to none
Setting echocan for channel 7 to none
Setting echocan for channel 8 to none
Setting echocan for channel 9 to none
Setting echocan for channel 10 to none
Setting echocan for channel 11 to none
Setting echocan for channel 12 to none
Setting echocan for channel 13 to none
Setting echocan for channel 14 to none
Setting echocan for channel 15 to none
Setting echocan for channel 16 to none
Setting echocan for channel 17 to none
Setting echocan for channel 18 to none
Setting echocan for channel 19 to none
Setting echocan for channel 20 to none
Setting echocan for channel 21 to none
Setting echocan for channel 22 to none
Setting echocan for channel 23 to none
Setting echocan for channel 24 to none
Setting echocan for channel 25 to none
Setting echocan for channel 26 to none
Setting echocan for channel 27 to none
Setting echocan for channel 28 to none
Setting echocan for channel 29 to none
Setting echocan for channel 30 to none
Setting echocan for channel 31 to none
Setting echocan for channel 32 to oslec
Setting echocan for channel 33 to oslec
Setting echocan for channel 34 to oslec
Setting echocan for channel 35 to oslec
Setting echocan for channel 36 to oslec
Setting echocan for channel 37 to oslec
Setting echocan for channel 38 to oslec
Setting echocan for channel 39 to oslec

 

I think the one that holds the key is chan_dahdi:

 

[general]

; generated by module
#include chan_dahdi_general.conf

; for user additions not provided by module
#include chan_dahdi_general_custom.conf

[channels]
language=en
busydetect=no
busycount=6
usecallerid=yes
callwaiting=yes
usecallingpres=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
echotraining=no
immediate=no
faxdetect=both
rxgain=0.0
txgain=0.0
answeronpolarityswitch=yes
hanguponpolarityswitch=yes
discardremoteholdretrieval=yes
callprogress=no
resetinterval=never
facilityenable=no
nationalprefix=0
internationalprefix=00
priindication=outofband

Edited by Sc00by
Added chan_dahdi
Posted

Here is a trace of a call. Incoming to an extension that's busy. The result to the external caller is a fraction of a second ringing followed by a long tone (disconnect). I would have expected the busy beeps

 

I tried to add the trace but the forum says its too long - I have attached it instead. However below is a short snippet from the end of the call showing the disconnect.

 

[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_dial.c: -- Called SIP/5024
[2015-10-25 12:50:09] VERBOSE[4848][C-00000d12] chan_sip.c: -- Got SIP response 486 "Busy here" back from 10.10.0.18:5060
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_dial.c: -- SIP/5024-000000b5 is busy
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_dial.c: == Everyone is busy/congested at this time (1:1/0/0)
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:44] ExecIf("DAHDI/i1/07xxxxxxxxx-83", "0?MacroExit()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:45] ExecIf("DAHDI/i1/07xxxxxxxxx-83", "0?Set(DIALSTATUS=)") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:46] GosubIf("DAHDI/i1/07xxxxxxxxx-83", "0?s-BUSY,1()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:47] MacroExit("DAHDI/i1/07xxxxxxxxx-83", "") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:10] Set("DAHDI/i1/07xxxxxxxxx-83", "SV_DIALSTATUS=BUSY") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:11] GosubIf("DAHDI/i1/07xxxxxxxxx-83", "0?docfu,1()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:12] GosubIf("DAHDI/i1/07xxxxxxxxx-83", "0?docfb,1()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:13] Set("DAHDI/i1/07xxxxxxxxx-83", "DIALSTATUS=BUSY") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:14] ExecIf("DAHDI/i1/07xxxxxxxxx-83", "0?MacroExit()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:15] GotoIf("DAHDI/i1/07xxxxxxxxx-83", "1?s-BUSY,1") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Goto (macro-exten-vm,s-BUSY,1)
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s-BUSY@macro-exten-vm:1] GotoIf("DAHDI/i1/07xxxxxxxxx-83", "0?exit,1") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s-BUSY@macro-exten-vm:2] PlayTones("DAHDI/i1/07xxxxxxxxx-83", "busy") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s-BUSY@macro-exten-vm:3] Busy("DAHDI/i1/07xxxxxxxxx-83", "20") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_macro.c: == Spawn extension (macro-exten-vm, s-BUSY, 3) exited non-zero on 'DAHDI/i1/07xxxxxxxxx-83' in macro 'exten-vm'
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: == Spawn extension (from-did-direct, 5024, 2) exited non-zero on 'DAHDI/i1/07xxxxxxxxx-83'
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [h@from-did-direct:1] Macro("DAHDI/i1/07xxxxxxxxx-83", "hangupcall,") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/i1/07xxxxxxxxx-83", "1?theend") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Goto (macro-hangupcall,s,3)
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-hangupcall:3] ExecIf("DAHDI/i1/07xxxxxxxxx-83", "0?Set(CDR(recordingfile)=)") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-hangupcall:4] Hangup("DAHDI/i1/07xxxxxxxxx-83", "") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_macro.c: == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'DAHDI/i1/07xxxxxxxxx-83' in macro 'hangupcall'
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: == Spawn extension (from-did-direct, h, 1) exited non-zero on 'DAHDI/i1/07xxxxxxxxx-83'
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 q931.c:6837 q931_hangup: Hangup other cref:118
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 q931.c:6594 __q931_hangup: ourstate Call Received, peerstate Call Delivered, hold-state Idle
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 q931.c:5783 q931_disconnect: Call 118 enters state 11 (Disconnect Request). Hold state: Idle
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > DL-DATA request
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > Protocol Discriminator: Q.931 (8) len=9
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 118/0x76) (Sent to originator)
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > Message Type: DISCONNECT (69)
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 TEI=0 Transmitting N(S)=8, window is open V(A)=8 K=7
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > Protocol Discriminator: Q.931 (8) len=9
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 118/0x76) (Sent to originator)
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > Message Type: DISCONNECT (69)
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > [08 02 81 91]
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: Private network serving the local user (1)
[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > Ext: 1 Cause: User busy (17), class = Normal Event (1) ]
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] chan_dahdi.c: -- Hungup 'DAHDI/i1/07xxxxxxxxx-83'
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 < Protocol Discriminator: Q.931 (8) len=5
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 < TEI=0 Call Ref: len= 2 (reference 118/0x76) (Sent from originator)
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 < Message Type: RELEASE (77)
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 Received message for call 0x7f43f4005660 on link 0x164cb10 TEI/SAPI 0/0
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 q931.c:8620 post_handle_q931_message: Call 118 enters state 0 (Null). Hold state: Idle
[2015-10-25 12:50:09] VERBOSE[4831] sig_pri.c: Span 1: Processing event PRI_EVENT_HANGUP(6)
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 q931.c:6837 q931_hangup: Hangup other cref:118
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 q931.c:6594 __q931_hangup: ourstate Null, peerstate Release Request, hold-state Idle
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > DL-DATA request
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > Protocol Discriminator: Q.931 (8) len=9
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 118/0x76) (Sent to originator)
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > Message Type: RELEASE COMPLETE (90)
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 TEI=0 Transmitting N(S)=9, window is open V(A)=9 K=7
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > Protocol Discriminator: Q.931 (8) len=9
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 118/0x76) (Sent to originator)
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > Message Type: RELEASE COMPLETE (90)
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > [08 02 81 90]
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: Private network serving the local user (1)
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 > Ext: 1 Cause: Normal Clearing (16), class = Normal Event (1) ]
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 q931.c:6837 q931_hangup: Hangup other cref:118
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 q931.c:6594 __q931_hangup: ourstate Null, peerstate Null, hold-state Idle
[2015-10-25 12:50:09] VERBOSE[4831] chan_dahdi.c: PRI Span: 1 Destroying call 0x7f43f4005660, ourstate Null, peerstate Null, hold-state Idle

isdndebug.txt

Posted (edited)

I see nothing wrong with what asterisk did. It passed the call to the SIP device, got told it was busy then turned round and sent a busy signal down the PRI.

 

2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:43] Dial("DAHDI/i1/07xxxxxxxxx-83", "SIP/5024,,trw") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] netsock2.c: == Using SIP RTP TOS bits 184
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] netsock2.c: == Using SIP RTP CoS mark 5
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_dial.c: -- Called SIP/5024
[2015-10-25 12:50:09] VERBOSE[4848][C-00000d12] chan_sip.c: -- Got SIP response 486 "Busy here" back from 10.10.0.18:5060
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_dial.c: -- SIP/5024-000000b5 is busy
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_dial.c: == Everyone is busy/congested at this time (1:1/0/0)
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:44] ExecIf("DAHDI/i1/07xxxxxxxxx-83", "0?MacroExit()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:45] ExecIf("DAHDI/i1/07xxxxxxxxx-83", "0?Set(DIALSTATUS=)") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:46] GosubIf("DAHDI/i1/07xxxxxxxxx-83", "0?s-BUSY,1()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-dial-one:47] MacroExit("DAHDI/i1/07xxxxxxxxx-83", "") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:10] Set("DAHDI/i1/07xxxxxxxxx-83", "SV_DIALSTATUS=BUSY") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:11] GosubIf("DAHDI/i1/07xxxxxxxxx-83", "0?docfu,1()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:12] GosubIf("DAHDI/i1/07xxxxxxxxx-83", "0?docfb,1()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:13] Set("DAHDI/i1/07xxxxxxxxx-83", "DIALSTATUS=BUSY") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:14] ExecIf("DAHDI/i1/07xxxxxxxxx-83", "0?MacroExit()") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s@macro-exten-vm:15] GotoIf("DAHDI/i1/07xxxxxxxxx-83", "1?s-BUSY,1") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Goto (macro-exten-vm,s-BUSY,1)
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s-BUSY@macro-exten-vm:1] GotoIf("DAHDI/i1/07xxxxxxxxx-83", "0?exit,1") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s-BUSY@macro-exten-vm:2] PlayTones("DAHDI/i1/07xxxxxxxxx-83", "busy") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] pbx.c: -- Executing [s-BUSY@macro-exten-vm:3] Busy("DAHDI/i1/07xxxxxxxxx-83", "20") in new stack
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] app_macro.c: == Spawn extension (macro-exten-vm, s-BUSY, 3) exited non-zero on 'DAHDI/i1/07xxxxxxxxx-83' in macro 'exten-vm'

 

Then a little later you see the same Cause code 17 hang up by DHADI.

 

[2015-10-25 12:50:09] VERBOSE[19249] chan_dahdi.c: PRI Span: 1 > Ext: 1 Cause: User busy (17), class = Normal Event (1) ]
[2015-10-25 12:50:09] VERBOSE[19249][C-00000d12] chan_dahdi.c: -- Hungup 'DAHDI/i1/07xxxxxxxxx-83'

Edited by Geoff
Posted

Yeh, that's what's got me stumped a bit because when ringing in from an external landline you get a fraction of a second ringing followed by a long tone. No busy tones at all. It's as if Asterisk is answering the call first then finding out it's busy resulting in the call being disconnected. As far as BT's concerned the call was answered then terminated with the busy code being sent after the call is answered.

 

It's not causing us a major problem as most of our published numbers go somewhere else when busy, voicemail etc but it's just annoying as to what might be perceived by an external caller.

Posted

No, you never answered the call (there's no Answer() in the call trace). Asterisk tried to call the SIP device before it even considered answering the ISDN call. It found the SIP was busy so simply told the ISDN it was BUSY() too. So the fact remains, BT is ignoring your PRI cause codes.

 

On a more practical note if this is a DDI you might want to have it go to voicemail() rather than returning BUSY() (or send to your operator extension as a last resort). I don't know why you'd ever want to just flat out return a busy signal from an office phone system?

Posted

Ah, interesting. I may bring this up with BT. The numbers these generally apply to are departments within the school. All office lines, published numbers etc all go to a mailbox or are forwarded elsewhere. These are usually analog cordless phones with local answering machines. Voicemail is not easy to put onto these lines as there's no audible way to notify someone if a message has been left, the only option is to email it but in a shared dept who do you send it to?

 

With the way FreePBX works, I can set destinations on no answer, busy or unreachable however just setting the busy option then puts a 15second ring time flag on the number. I had thought putting it to a pre-recorded announcement which consisted of the tones but for some reason it always dropped the call as congestion after 15 seconds regardless of whether the line was busy or not.

Posted

A low tech approach would be to have a physical answer machine in the department office and offload missed calls to that. You could also do voice mail to email where there is a shared mailbox for the department (so you have [email protected] and the art mailbox is a shared one) then just give whoever in the department access (HoD, Deputy HOD, some TAs, etc).

 

BT should not be dropping calls on you at all. I think there's something wrong. Ask them to check the line. They'll probably come back and say everything is fine and it'll mysteriously start working.

Posted

I think I'll do that. I'll also see if I can get BT to have a look, as you say, they'll come back saying its fine and it suddenly starts working.

 

Just out of curiosity, do you look after an Asterisk system?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...