Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2013-03-19 16:43:42 +0400

romariosar Gravatar romariosar flag of Russian Federation

http://www.webunix.ru/

did в диалплане

Есть астериск 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"

Может есть другой способ?

did в диалплане

Есть астериск 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

stack

как видно не очень удобно придется дальше работать со строкой чтобы из этого "SIP/227722-0000009b" получилось вот это "227722"

Может есть другой способ?

did в диалплане

Есть астериск 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"

Может есть другой способ?

did в диалплане

Есть астериск 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]

did в диалпланедиалплане [Решено]

Есть астериск 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.