I’ve read (or I’ve tried to) all posts on picking up calls but I’ve not found a scenario like mine. We are using Astrisk 1.2 from a couple of month and we are greatly satisfied. The connection with PSTN is via a ISDN PRI (Beronet Billion chip based card) drived by Beronet chan_misdn channel driver. The relevant part of our extensions.conf:
[default]
exten => _7.,1,Pickup(${EXTEN:1})
exten => 36,1,Dial(SIP/36,tT)
exten => 37,1,Dial(SIP/37,tT)
exten => 38,1,Dial(SIP/38,tT)
exten => 39,1,Dial(SIP/39,tT)
exten => 40,1,Dial(SIP/40,tT)
[incomingVoice]
exten => _X.,1,Dial(SIP/40,t)
The context [incomingVoice] is declared in the misdn.conf for the isdn port connected to the PSTN. Now the question: if a user at SIP phone 36 call SIP phone 40, another user at phone 37 could answer (pickup) the call keying 740 on his phone. But if the SIP phone 40 is ringing because an isdn external incoming call, keying 740 fails from all other SIP phones. What is wrong? Just to notify, I’ve tried with callgroup/pickupgroup method and it works fine, but we need to set up only one pickup method and people here prefers to be able to choose the extension to pick up (because they do so with the old analog PBX), so would like to use 7xx for both internal and incoming calls. Thanks in advance for any help
change the incoming voice thing from Dial() to Goto(default,40,1). Then your call pickup will work
The Goto() trick is cool. My extensions.conf looks like this:
[incoming]
exten => s,1,Answer()
exten => s,2,Dial(SIP/101,55,r)
exten => s,3,Dial(SIP/110,r)
exten => s,4,Hangup()
[outgoing]
exten => _9XXX,1,Pickup(${EXTEN:1})
exten => _X.,1,Dial(CAPI/ISDN1/${EXTEN},r)
exten => 101,1,Dial(SIP/101,55,r)
exten => 102,1,Dial(SIP/102,r)
exten => 103,1,Dial(SIP/103,r)
exten => 110,1,Dial(SIP/110,r)
I don’t want to route the incoming calls to the outgoing context because of security reasons. Is there any other solution to pickup() calls from the incoming context?
Thank you!