AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

CEL и кто ответил на звонок

Asterisk IP PBX 4 сообщений -
#1

Здравствуйте!

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

Внешний поток принимает Asterisk(1.8.22.0) одним портом, вторым портом включен в АТС.
Так как прописана DID таблица на стороне АТС, то просто перенаправляю звонок согласно DID.

Что настроено:
- CEL (cel_odbc)
- Applicationmap (features.conf) - делаю через Macro
- Dialplan (обьявляю фичи)

Описание входящего звонка:
extension.conf
[in]
exten => _4ХХXXXX,1,NoOp(INC Call)
same => n,Set(__DYNAMIC_FEATURES=monitor_on)
same => n,Dial(DAHDI/g1/${EXTEN})
same => n,Hangup()

[macro-record]
exten => s,1,Verbose(1, EXTEN ${CALLERID(num)} STARTS RECORD A CALL)
same => n,Set(_FILENAME=${CALLERID(num)}-${source}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}.wav)
same => n,Set(_dst_peer=${CDR(clid)})
same => n,Set(CHANNEL(userfield)=${FILENAME})
same => n,MixMonitor(${FILENAME},b,${scriptdir}/send_record.php ${CDR(linkedid)})
same => n,MacroExit()

features.conf
monitor_on => *7,self/callee,Macro(record)

Суть проблемы:

Когда DID прописан на АТС приземлен на абонента напрямую, то в переменных CDR канала значение clid=${EXTEN}, но если данный звонок перехватить с другого аппарата то в поле clid=номер сотрудника который перехват осуществил!

Что не донастроено, или каким образом получить необходимое значение?

Заранее благодарен.
#2

Никто не задавался подобным вопросом?
#3

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

_________________
Алексей Милько
#4

Цитата:
ну и не трогать ее в момент перехвата.

перехват осуществляется средствами АТС, а не Asterisk.