I have a queue defined with 5 sip phones. If I call the queue’s extension from a sip phone, then the timeout does not work. However, if I call that extension from outside via a phone, then it works. What am I missing? Does it have anything to do with the sip phones inviting each other?
Please post dial plan
This is my first go at it, so please be gentle…
queues.conf…[code][general]
persistentmembers=yes
;Alan default queue
[alanq]
musiconhold = default
ananounce=queue-alanq
strategy=ringall
maxlen=0
context=default
;announce-frequency=20
;announce-holdtime=yes
;reportholdtime=yes
member => SIP/21
member => SIP/22
member => SIP/23
member => SIP/25
member => SIP/31
[/code]extensions.conf…
[code][general]
static=yes
writeprotect=no
#include macros.incl
#include apps.incl
#include incoming.incl
#include outgoing.incl
#include default.incl
#include nineoneone.incl
#include dialext.incl
#include phrase.incl
[globals]
TRUNK=Zap/g1
TRUNKMSD=1
EMERGENCY=0
EMERGENCY_TRUNK=Zap/10
EMERGENCY_NUM=911
CONFMAX => 6
[/code]incoming.incl (part of)…
;incoming.incl
;#included from extensions.conf
[incoming]
exten => 478######,1,Macro(stdin,20,A)
exten => 478######,1,Macro(stdin,20,A)
default.incl (part of)…
[code];default.incl
;#included in extensions.conf
[default]
include => parkedcalls
exten => s,1,Goto(s-${CIDPRE},1)
exten => t,1,Goto(t-${CIDPRE},1)
exten => i,1,Goto(i-${CIDPRE},1)
exten => s-A,1,Goto(default,20,1)
exten => t-A,1,Goto(default,20,1)
exten => i-A,1,Goto(default,20,1)
exten => s-S,1,Goto(default,100,1)
exten => t-S,1,Goto(default,100,1)
exten => i-S,1,Goto(default,100,1)
exten => s-B,1,Goto(default,100,1)
exten => t-B,1,Goto(default,100,1)
exten => i-B,1,Goto(default,100,1)
exten => s-,1,Playback(Goodbye)
exten => s-,2,Hangup
exten => t-,1,Playback(Goodbye)
exten => t-,2,Hangup
exten => i-,1,Playback(Goodbye)
exten => i-,2,Hangup
;Emergency Number
exten => 911,1,Goto(nineoneone,s,1)
;Alan’s Operator
exten => 20,1,Macro(ringqueue,${EXTEN},alanq,${CIDPRE})
;Alan’s people
exten => _2X,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
[/code]macros.incl…
[code];macros.incl
;#included into extenensions.conf
[macro-stdin]
;
; Standard incoming extension
; ${ARG1} - New Extension
; ${ARG2} - CIDPREPEND
;
exten => s,1,Set(CIDPRE=${ARG2})
exten => s,2,Goto(default,${ARG1},1)
[macro-stdexten]
;
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as
; well)
; ${ARG2} - Device(s) to ring
;
exten => s,1,Wait(1)
exten => s,2,Set(DB(${ARG1}/lastnumber)=${CALLERIDNUM})
exten => s,3,Set(DB(${ARG1}/lastname)=${CALLERIDNAME})
exten => s,4,Dial(${ARG2},20,twW) ; Ring the interface, 20 seconds
; maximum
exten => s,5,Goto(s-${DIALSTATUS},1) ; Jump based on status
;exten => s-NOANSWER,1,Macro(patchme,${ARG1}) ; Unavaliable
exten => s-NOANSWER,1,Macro(vmail,${ARG1},u) ; Unavaliable
exten => s-BUSY,1,Macro(vmail,${ARG1},b) ; Busy
exten => s-.,1,Macro(vmail,${ARG1},) ; Everything else unavaliable
exten => fax,1,Set(FAXFILE=/var/spool/asterisk/fax/${STRFTIME(${EPOCH},%Y%m%M%S)}-${CALLERIDNUM}.tif)
exten => fax,n,rxfax(${FAXFILE})
[macro-vmail]
;
; Macro to define voicemail configuration
; ${ARG1} - Voicemail box (usally extension)
; ${ARG2} - Status
;
exten => s,1,Voicemail(${ARG2}${ARG1})
exten => s,2,Playback(Goodbye)
exten => s,3,Hangup
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send to
; VoicemailMain
exten => o,1,Goto(default,0,1) ; If they press 0, send to
; Operator
[macro-patchme]
exten => s,1,NoOp(${ARG1})
exten => s,2,Set(NUMBER=${DB(${ARG1}/patchmenumber)})
exten => s,3,NoOp(${NUMBER})
exten => s,4,GotoIf($["${NUMBER}" = “”]?s-nonum,1)
;exten => s,1,playback(pls-wait-connect-call)
exten => s,5,dial(Zap/g1/${NUMBER},20,rtpw)
exten => s-nonum,1,NoOp(${NUMBER})
[macro-novm]
exten => s,1,Dial(${ARG1},45,wW) ; ring the interface for 45 seconds
exten => s,2,Playback(Goodbye)
exten => s,3,Hangup
[macro-stdmeetme]
; with limit to max number of persons in conference
exten => s,1,MeetMeCount(${MACRO_EXTEN}|count)
exten => s,2,Gotoif,$[${count} >= ${CONFMAX}]?103
exten => s,3,MeetMe(${MACRO_EXTEN}|ciMps)
exten => s,4,Goto(s|1)
exten => s,103,Background(conf-full)
exten => s,104,Hangup
[macro-stdqueue]
;
; Standard queue macro:
; ${ARG1} - Extension
; ${ARG2} - Queue name
; ${ARG3} - Prepend to CallerID Name
exten => s,1,Wait(1)
exten => s,2,Answer
exten => s,3,GotoIf($["${ARG3}" = “”]?s,5)
exten => s,4,Set(CALLERID(name)=${ARG3}:${CALLERID(name)})
exten => s,5,Queue(${ARG2}|tn|||240) ; only allow 4 minutes in queue
exten => s,6,Macro(vmail,${ARG1},u) ; Unavaliable
[macro-ringqueue]
;
; Ring queue macro:
; ${ARG1} - Extension
; ${ARG2} - Queue name
; ${ARG3} - Prepend to CallerID Name
exten => s,1,Wait(1)
exten => s,2,Answer
exten => s,3,GotoIf($["${ARG3}" = “”]?s,5)
exten => s,4,Set(CALLERID(name)=${ARG3}:${CALLERID(name)})
exten => s,5,Queue(${ARG2}|rtn|||20) ; only allow 20 seconds in queue
exten => s,6,Macro(vmail,${ARG1},u) ; Unavaliable[/code]
I understand if no one has the time to fix my bug, but I would just like to know if there is a known issues with timeout, queues, & sip, so that I do not go crazy trying to fix an issue that is not mine. Can anybody confirm the it should work?