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

Принять внешний звонок и сохранить в файл то что скажут

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

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

odmin4eg
Сообщения: 12
Зарегистрирован: 12 янв 2013, 16:47

Принять внешний звонок и сохранить в файл то что скажут

Сообщение odmin4eg »

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

я больше программист с той частью у меня вроде всё нормально, а вот с астериском как-то не складывалось.

на сервере на убунту ЛТС версии последней поставил из репозитория Астериск + Астериск-ГУИ всё вроде поехало пошло.

нашёл оператора "Задорма" чтоб можно было звонить на городской номер и принимать звонок из внешнего мира.

далее пытаюсь настроить астериск на задарма согласно их инструкции http://wiki.zadarma.com/index.php/Asterisk

в файл sip.conf добавил

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

[general]

register => 31262:pass@sip.zadarma.com/31262

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

[zadarma]
type=friend
username=31262
secret=pass
fromuser=31262
fromdomain=sip.zadarma.com
host=sip.zadarma.com
nat=no
insecure=invite
context=zadarma
canreinvite=no
дальше по инструкции написано
Теперь Ваш Asterisk будет регистрироваться у нас. Входящие звонки будут приходить в контекст [zadarma] на extension ваш_сип_номер.
Для исходящих звонков используйте Dial(SIP/zadarma/вызываемый_номер)
Тоесть мне надо создать extension пока он не создан в логах я вижу вот это

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

[Jan 12 20:43:29] NOTICE[5450] chan_sip.c: Call from '31262' (176.9.145.115:5060) to extension '31262' rejected because extension not found in context 'zadarma'.
тоесть звонок до астериска дошёл дальше я не знаю что с ним сделать :( и прошу помощи

мне надо чтоб включилось "меню" например проигрался оперелённый текст "назовите своё местоположение" или нажмите 1 для связи с оператором
и дальше если человек что-то говорит то это записывалось и складывалось (в файл и пинался скрипт например какой-то), ну или сразу скармливалось в гугл спич АПИ вот примерная ссылка о том как делали это
http://habrahabr.ru/post/133869/

Буду раз любым подсказкам, уже несколько дней невылажу с гугла, совсем отчаялся :(
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Принять внешний звонок и сохранить в файл то что скажут

Сообщение awsswa »

google.ru - поиск - rejected because extension not found in context
платный суппорт по мере возможностей
odmin4eg
Сообщения: 12
Зарегистрирован: 12 янв 2013, 16:47

Re: Принять внешний звонок и сохранить в файл то что скажут

Сообщение odmin4eg »

да уже вроде все ссылки в гугле красные по этому запросу :(
окей на второй круг повнимательнее почитаю
odmin4eg
Сообщения: 12
Зарегистрирован: 12 янв 2013, 16:47

Re: Принять внешний звонок и сохранить в файл то что скажут

Сообщение odmin4eg »

да круть какая.

теперь осталось проиграть привествие и записать в файл что там наговорили на другом конце
odmin4eg
Сообщения: 12
Зарегистрирован: 12 янв 2013, 16:47

Re: Принять внешний звонок и сохранить в файл то что скажут

Сообщение odmin4eg »

Ребят всем спасибо всё получилось, но не могу победить один момент...

суть у меня какая:
приходит звонок
ему играет приветствие (назовите ориентир)
записывается что он говорит в файл.
вызывается системный скрипт который скармливает скрипту файл и передаёт параметр некий
конец

это примерно вот так в конфигурации

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

exten => 31262,1,Playback(/var/lib/asterisk/sounds/hello)
exten => 31262,2,Record(/tmp/asterisk/%d-${CALLERID(number)}-as:wav)
exten => 31262,3,System(/usr/bin/wget http://*/${CALLERID(number)}/?temp_file=${RECORDED_FILE}.wav)
exten => 31262,4,Wait(2)
exten => 31262,5,Hangup
всё вроде бы хорошо но 2 момента


1 нестандартная ситуация, человек сказал слово и не нажал # а просто положил трубку, в итоге шаг 2 отрабатывает а шаг 3 не выполняется как заставить? хотелось бы

2 нестандартная ситуация, человек не нажимает # а ждёт\затупил не понял что надо что-то ещё нажать, отобрать например тишину и продолжить выполнение.

кто подскажет кто куда почитать?
odmin4eg
Сообщения: 12
Зарегистрирован: 12 янв 2013, 16:47

Re: Принять внешний звонок и сохранить в файл то что скажут

Сообщение odmin4eg »

Record(filename.format[|silence][|maxduration][|option])
silence: количество секунд тишины, после которых запись останавливается. Если пустое значение или 0, детектирование тишины выключено.
maxduration: Максимальная продолжительность записи в секундах. Если пустое значение или 0, нет ограничений на время записи.
option: может иметь значение 'skip', это заставляет команду немедленно закончить работу, если канал находиться в неотвеченном состоянии, или может иметь значение 'noanswer', для записи разговора, даже если линия не в состоянии установленного соединения.

1 option:может иметь значение 'noanswer', для записи разговора, даже если линия не в состоянии установленного соединения.
2 silence

оно или нет?
odmin4eg
Сообщения: 12
Зарегистрирован: 12 янв 2013, 16:47

Re: Принять внешний звонок и сохранить в файл то что скажут

Сообщение odmin4eg »

про сброс трубки вот это "noanswer" не помогло, сказал слова, нажал положить трубку...

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

 Record("SIP/zadarma-00000000", "/tmp/asterisk/%d-73831111186-as:wav,,,noanswer") in new stack
    -- <SIP/zadarma-00000000> Playing 'beep.gsm' (language 'en')
  == Spawn extension (demo, 31262, 2) exited non-zero on 'SIP/zadarma-00000000'
на этом всё и оборвалось
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Принять внешний звонок и сохранить в файл то что скажут

Сообщение Vlad1983 »

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

exten => 31262,1,Playback(/var/lib/asterisk/sounds/hello)
exten => 31262,2,Record(/tmp/asterisk/%d-${CALLERID(number)}-as:wav)
exten => 31262,3,Hangup
exten => h,1,System(/usr/bin/wget http://*/${CALLERID(number)}/?temp_file=${RECORDED_FILE}.wav)
ЛС: @rostel
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: Принять внешний звонок и сохранить в файл то что скажут

Сообщение ded »

exten => 31262,3,Hangup вроде не надо если есть в том же контексте
exten => h,1, ??
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH