Назад | Перейти на главную страницу

Перенос звездочки вызова в другой контекст

У меня есть небольшая базовая АТС, и у меня есть два контекста, в основном продажи и супервизор, у которых разные роли и привилегии. Я заметил, что можно передать вызов из того же контекста, но невозможно передать что-либо в другой контекст.

Любое понимание, я вроде как новичок в звездочке, но в настоящее время больше никого нет ...

Спасибо

редактировать

Это extension.conf

[supervisor]
include => from-internal
exten => _40XX,1,Answer
exten => _40XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _40XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _40XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _40XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _40XX,n,Hangup

[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup

и sip.conf выглядит так:

[supervisor]
username=sales
secret=ASUPERSECRETPASSWORD
type=peer
.....
context=supervisor
mailbox=supervisor

[sales]
username=sales
secret=ASUPERSECRETPASSWORD
type=peer
.....
context=sales
mailbox=sales

Что вы предлагаете для того, чтобы супервайзер имел те же привилегии, которые у него уже есть, и чтобы отдел продаж мог переводить на него звонки

когда вы переводите вызовы, звездочка будет искать добавочный номер в вашем текущем контексте, поэтому, если кто-то звонит с использованием «продаж», он сможет переводить только на добавочные номера 41XX, если вы хотите разрешить ему переводить на добавочные номера 40XX, вам следует добавить 40XX в контексте продаж, например:

[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup

exten => _40XX,1,Dial(SIP/${EXTEN},40,TtRr)

(вы также можете включить контекст руководителя в свой контекст продаж)

Если вы хотите, чтобы продавцы не звонили пользователям-супервизорам и наоборот, но при этом позволяли им передавать звонки друг другу, вы можете решить эту проблему следующим образом:

создайте новый контекст, предназначенный только для переадресации вызовов, где вы предоставляете добавочные номера, которые должны быть восстановлены при переводе вызова, например:

[call-transfer]
 exten => _40XX,1,Dial(SIP/${EXTEN},40,TtRr)
 exten => _41XX,1,Dial(SIP/${EXTEN},40,TtRr)

Затем установите __TRANSFER_CONTEXT = call-transfer:

[supervisor]
include => from-internal
exten => _40XX,1,Answer
exten => _40XX,n,Set(__TRANSFER_CONTEXT=call-transfer)
exten => _40XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _40XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _40XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _40XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _40XX,n,Hangup

[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _40XX,n,Set(__TRANSFER_CONTEXT=call-transfer)
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup

Я просто не уверен, что __TRANSFER_CONTEXT все еще присутствует в новых версиях звездочки :)