1 | изначальная версия редактировать | |
Есть астериск 1.6.2 + FreePBX 2.7 с кучей кастомных контекстов. Мне необходимо при входящем звонке узнавать с какого номера пришел звонок, т.е. определять его DID, и затем в один из кастомных контекстах этот DID необходимо использовать.
Ничего подходящего как вот это не придумал:
exten => 300,n,Set(__DIDnow=${CHANNEL})
exten => 300,n,noop(${DIDnow})
в логе
-- Executing [300@ext-queues:5] Set("SIP/227722-0000009b", "__DIDnow=SIP/227722-0000009b") in new stack -- Executing [300@ext-queues:6] NoOp("SIP/227722-0000009b", "SIP/227722-0000009b") in new stack
как видно не очень удобно придется дальше работать со строкой чтобы из этого "SIP/227722-0000009b" получилось вот это "227722"
Может есть другой способ?
2 | No.2 Revision редактировать |
Есть астериск 1.6.2 + FreePBX 2.7 с кучей кастомных контекстов. Мне необходимо при входящем звонке узнавать с какого номера пришел звонок, т.е. определять его DID, и затем в один из кастомных контекстах этот DID необходимо использовать.
Ничего подходящего как вот это не придумал:
exten => 300,n,Set(__DIDnow=${CHANNEL})
exten => 300,n,noop(${DIDnow})
в логе
-- Executing [300@ext-queues:5] Set("SIP/227722-0000009b", "__DIDnow=SIP/227722-0000009b") in new stack
-- Executing [300@ext-queues:6] NoOp("SIP/227722-0000009b", "SIP/227722-0000009b") in new как видно не очень удобно придется дальше работать со строкой чтобы из этого "SIP/227722-0000009b" получилось вот это "227722"
Может есть другой способ?
3 | No.3 Revision редактировать |
Есть астериск 1.6.2 + FreePBX 2.7 с кучей кастомных контекстов.
Мне необходимо при входящем звонке узнавать с какого номера номера(транка) пришел звонок, т.е. определять его DID, и затем в один из кастомных контекстах этот DID необходимо использовать.
Ничего подходящего как вот это не придумал:
exten => 300,n,Set(__DIDnow=${CHANNEL})
exten => 300,n,noop(${DIDnow})
в логе
-- Executing [300@ext-queues:5] Set("SIP/227722-0000009b", "__DIDnow=SIP/227722-0000009b") in new stack
-- Executing [300@ext-queues:6] NoOp("SIP/227722-0000009b", "SIP/227722-0000009b") in new stack
как видно не очень удобно придется дальше работать со строкой чтобы из этого "SIP/227722-0000009b" получилось вот это "227722"
Может есть другой способ?
4 | No.4 Revision редактировать |
Есть астериск 1.6.2 + FreePBX 2.7 с кучей кастомных контекстов. Мне необходимо при входящем звонке узнавать с какого номера(транка) пришел звонок, т.е. определять его DID, и затем в один из кастомных контекстах этот DID необходимо использовать.
Ничего подходящего как вот это не придумал:
exten => 300,n,Set(__DIDnow=${CHANNEL})
exten => 300,n,noop(${DIDnow})
в логе
-- Executing [300@ext-queues:5] Set("SIP/227722-0000009b", "__DIDnow=SIP/227722-0000009b") in new stack
-- Executing [300@ext-queues:6] NoOp("SIP/227722-0000009b", "SIP/227722-0000009b") in new stack
как видно не очень удобно придется дальше работать со строкой чтобы из этого "SIP/227722-0000009b" получилось вот это "227722"
Может есть другой способ?
PS: решено
[ext-did-catchall]
include => ext-did-catchall-custom
exten => _.,1,Noop(Catch-All DID Match - Found ${EXTEN} - You probably want a DID for this.)
exten => _.,n,Set(__DIDnow=${EXTEN})
exten => _.,n,noop(${DIDnow}) ;номер DID
exten => _.,n,Goto(ext-did,s,1)
; end of [ext-did-catchall]
5 | No.5 Revision редактировать |
Есть астериск 1.6.2 + FreePBX 2.7 с кучей кастомных контекстов. Мне необходимо при входящем звонке узнавать с какого номера(транка) пришел звонок, т.е. определять его DID, и затем в один из кастомных контекстах этот DID необходимо использовать.
Ничего подходящего как вот это не придумал:
exten => 300,n,Set(__DIDnow=${CHANNEL})
exten => 300,n,noop(${DIDnow})
в логе
-- Executing [300@ext-queues:5] Set("SIP/227722-0000009b", "__DIDnow=SIP/227722-0000009b") in new stack
-- Executing [300@ext-queues:6] NoOp("SIP/227722-0000009b", "SIP/227722-0000009b") in new stack
как видно не очень удобно придется дальше работать со строкой чтобы из этого "SIP/227722-0000009b" получилось вот это "227722"
Может есть другой способ?
PS: решено
[ext-did-catchall]
include => ext-did-catchall-custom
exten => _.,1,Noop(Catch-All DID Match - Found ${EXTEN} - You probably want a DID for this.)
exten => _.,n,Set(__DIDnow=${EXTEN})
exten => _.,n,noop(${DIDnow}) ;номер DID
exten => _.,n,Goto(ext-did,s,1)
; end of [ext-did-catchall]
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.