VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

dimashkarin
Сообщения: 31
Зарегистрирован: 30 мар 2013, 19:45

ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение dimashkarin »

Приветствую всех присутствующих!!
Есть задача! При ответе внутреннем абонентом на входящий вызов, создавать текстовой файл с записью CallerID И внутренним номером ответившим на звонок.
Сделано так:
[dostavka2]


exten => _X.,1,Dial(SIP/501,5)
exten => _X.,n,system(touch /var/call.txt)
exten => _X.,n,system(echo "${CALLERID(name)}-${EXTEN}" >> /var/dostavka/"${EXTEN}".txt)
exten => _X.,n,Wait(15)
exten => _X.,n,system(mv /var/dostavka/call301.txt /var/dostavka/old/call301.txt)
exten => _X.,n,Hangup()

естественно как задумано не работает((

Подскажите пожалуйста КУДА КОПАТЬ!
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение ded »

Открываете CDR - call distribution records (он в текстовом формате) - /var/log/asterisk/cdr-csv/Master.csv
и уже получаете там всё что нужно.
Это же -

Код: Выделить всё

[dostavka2]

exten => _X.,1,Dial(SIP/501,5)
exten => _X.,n,system(touch /var/call.txt)
exten => _X.,n,system(echo "${CALLERID(name)}-${EXTEN}" >> /var/dostavka/"${EXTEN}".txt)
exten => _X.,n,Wait(15)
exten => _X.,n,system(mv /var/dostavka/call301.txt /var/dostavka/old/call301.txt)
exten => _X.,n,Hangup()
закопайте скорей, и никому не показывайте, ОК?
dimashkarin
Сообщения: 31
Зарегистрирован: 30 мар 2013, 19:45

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение dimashkarin »

:lol:
Спасибо!
А как реализовать через контекст?
dimashkarin
Сообщения: 31
Зарегистрирован: 30 мар 2013, 19:45

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение dimashkarin »

Запись в cdr-master производится после окончания разговора, а нужно получить запись после ответа на входящий звонок
Аватара пользователя
Sfinx
Сообщения: 672
Зарегистрирован: 21 июн 2011, 23:40
Откуда: Odessa
Контактная информация:

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение Sfinx »

Через AMI можно - отслеживать событие Answer и нумерацию в Channelx.
Rus

-----------
SfinxSoft
http://sfinxsoft.com
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение Aven »

Ну есть же опции приложения Dial.

Код: Выделить всё

    G([[context^]exten^]priority): If the call is answered, transfer
    the calling party to the specified <priority> and the called party to
    the specified  <priority> plus one.
    NOTE: You cannot use any additional action post answer options in
    conjunction with this option.
Решения телефонии на базе Asterisk || http://it-need.ru
dimashkarin
Сообщения: 31
Зарегистрирован: 30 мар 2013, 19:45

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение dimashkarin »

К сожалению AMI использовать нельзя.

На практике с макросом в итоге получилось:

Код: Выделить всё

Called SIP/501
    -- SIP/501-000000f3 is ringing
    -- Nobody picked up in 5000 ms
    -- Executing [78126400011@dostavka2:5] Wait("SIP/westcall-out-000000f2", "15") in new stack
    -- Executing [78126400011@dostavka2:6] System("SIP/westcall-out-000000f2", "mv /var/dostavka/call301.txt /var/dostavka/old/call301.txt") in new stack
    -- Executing [78126400011@dostavka2:7] Hangup("SIP/westcall-out-000000f2", "") in new stack
  == Spawn extension (dostavka2, 78126400011, 7) exited non-zero on 'SIP/westcall-out-000000f2'
    -- Executing [h@dostavka2:1] Macro("SIP/westcall-out-000000f2", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/westcall-out-000000f2", "1?endmixmoncheck") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] NoOp("SIP/westcall-out-000000f2", "End of MIXMON check") in new stack
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/westcall-out-000000f2", "1?nomeetmemon") in new stack
    -- Goto (macro-hangupcall,s,28)
    -- Executing [s@macro-hangupcall:28] NoOp("SIP/westcall-out-000000f2", "End of MEETME check") in new stack
    -- Executing [s@macro-hangupcall:29] GotoIf("SIP/westcall-out-000000f2", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,34)
    -- Executing [s@macro-hangupcall:34] NoOp("SIP/westcall-out-000000f2", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:35] GotoIf("SIP/westcall-out-000000f2", "1?noautomon2") in new stack
    -- Goto (macro-hangupcall,s,41)
    -- Executing [s@macro-hangupcall:41] NoOp("SIP/westcall-out-000000f2", "MONITOR_FILENAME=") in new stack
    -- Executing [s@macro-hangupcall:42] GotoIf("SIP/westcall-out-000000f2", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,45)
    -- Executing [s@macro-hangupcall:45] GotoIf("SIP/westcall-out-000000f2", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,48)
    -- Executing [s@macro-hangupcall:48] GotoIf("SIP/westcall-out-000000f2", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,50)
    -- Executing [s@macro-hangupcall:50] AGI("SIP/westcall-out-000000f2", "hangup.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
    -- <SIP/westcall-out-000000f2>AGI Script hangup.agi completed, returning 0
    -- Executing [s@macro-hangupcall:51] Hangup("SIP/westcall-out-000000f2", "") in new stack

Но все равно пока не то.
Файл создается сразу же после поступления звонка, а хотелось бы после ответа вн. абонента 501
И хотелось бы что бы в файле была запись о принимавшем звонок абоненте. Типа 78121234567-501
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение Vlad1983 »

изучаем синтаксис

Код: Выделить всё

asterisk -rx "core show application Dial"
ЛС: @rostel
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение Aven »

Я уже конкретную опцию показал, но этого видимо мало....
Решения телефонии на базе Asterisk || http://it-need.ru
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: ЗАПУСК КОМАНДЫ SYSTEM ПОСЛЕ ПОДНЯТИЯ ТРУБКИ!

Сообщение Vlad1983 »

сейчас не в опциях дела а в синтаксисе самого Dial
switch в примере возможно намеренно ввел в заблуждение чтоб мозг включали
ЛС: @rostel
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH