ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Call файл + AMD

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

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

Call файл + AMD

Сообщение skynetyar » 11 дек 2019, 11:53

Добрый день! Пытаюсь все таки попробовать AMD в сочетании с call файлами, поскольку теперь повсеместно везде автоответчики и голосовые почты, нужно выявлять кто на другом конце трубки ,человек или автоответчик.
Схема такая, создаю call файл такого содержимого
[Показать] Спойлер:
Код: выделить все
Channel: Local/79066351111@from-internal
CallerID: 703
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: amd-in
Extension: 123
Priority: 1


Context: amd-in (extensions_custom.conf)
[amd-in]
[Показать] Спойлер:
Код: выделить все
exten => _123,1,Answer()
exten => _123,n,Background(en/silence/1)
exten => _123,n,AMD()
exten => _123,n,NoOP("AMD STATUS IS :"${AMDSTATUS}"...CAUSE:"${AMDCAUSE})
exten => _123,n,GotoIf($[${AMDSTATUS}=HUMAN]?human:mach)
exten => _123,n(mach),WaitForSilence(3000|1|180)
exten => _123,n,NoOP("WAITSTATUS:"${WAITSTATUS})
exten => _123,n,NoOP("THIS IS MACHINE.")
exten => _123,n,Set(MACHINE=1)
exten => _123,n,Hangup()
exten => _123,n(humn),WaitForSilence(250|1|180)
exten => _123,n,NoOp("WAITSTATUS:"${WAITSTATUS})
exten => _123,n,NoOP("THIS IS HUMAN.")
same => n,Dial(PJSIP/703)


amd.conf
[Показать] Спойлер:
Код: выделить все
[general]
initial_silence=2250
greeting=1500
after_greeting_silence=1250
total_analysis_time=5000
min_word_length=100
maximum_word_length=5000
between_words_silence=50
maximum_number_of_words=8
silence_threshold=256


Где 703 это внутренний номер сотрудника, задумка такая что система набирает внешний номер определяет что автоответчик и вешает трубку , если нет то набирает 703 номеру и соединяет их.
Все это на FreePBX 14
Прошу помощи, пока не получается , подскажите что не так в реализации?

Лог звонка

[Показать] Спойлер:
Код: выделить все
Local/79066351111@from-internal-00000061;1 answered
    -- Executing [123@amd-in:1] Answer("Local/79066351111@from-internal-00000061;1", "") in new stack
    -- Executing [123@amd-in:2] BackGround("Local/79066351111@from-internal-00000061;1", "en/silence/1") in new stack
    -- <Local/79066351111@from-internal-00000061;1> Playing 'en/silence/1.slin16' (language 'ru')
    -- Channel PJSIP/BEELINE_9622100000-00064e3a joined 'simple_bridge' basic-bridge <73181c97-6692-4860-8a95-69fce8ca806e>
    -- Channel Local/79066351111@from-internal-00000061;2 joined 'simple_bridge' basic-bridge <73181c97-6692-4860-8a95-69fce8ca806e>
       > 0x7fafc0294250 -- Strict RTP learning complete - Locking on source address 195.239.111.11:6410
    -- Executing [123@amd-in:3] AMD("Local/79066351111@from-internal-00000061;1", "") in new stack
    -- AMD: Local/79066351111@from-internal-00000061;1 703 (N/A) (Fmt: slin)
    -- AMD: initialSilence [2250] greeting [1500] afterGreetingSilence [1250] totalAnalysisTime [5000] minimumWordLength [100] betweenWordsSilence [50] maximumNumberOfWords [8] silenceThreshold [256] maximumWordLength [5000]
    -- AMD: Channel [Local/79066351111@from-internal-00000061;1]. Changed state to STATE_IN_SILENCE
    -- AMD: Channel [Local/79066351111@from-internal-00000061;1]. ANSWERING MACHINE: silenceDuration:2260 initialSilence:2250
    -- Executing [123@amd-in:4] NoOp("Local/79066351111@from-internal-00000061;1", ""AMD STATUS IS :"MACHINE"...CAUSE:"INITIALSILENCE-2260-2250") in new stack
    -- Executing [123@amd-in:5] GotoIf("Local/79066351111@from-internal-00000061;1", "0?human:mach") in new stack
    -- Goto (amd-in,123,6)
    -- Executing [123@amd-in:6] WaitForSilence("Local/79066351111@from-internal-00000061;1", "3000|1|180") in new stack
    -- Waiting 1 time(s) for 3000ms of silence with 0s timeout
    -- Channel PJSIP/748-00064e17 left 'simple_bridge' basic-bridge <9d9551c2-175c-44fe-bc9d-9151736dd5af>
  == Spawn extension (macro-dialout-trunk, s, 26) exited non-zero on 'PJSIP/748-00064e17' in macro 'dialout-trunk'
  == Spawn extension (restrictedroute-5aee0cc44da9dd93c7b7f7493389cea8, 84997398001, 6) exited non-zero on 'PJSIP/748-00064e17'
    -- Executing [h@restrictedroute-5aee0cc44da9dd93c7b7f7493389cea8:1] Hangup("PJSIP/748-00064e17", "") in new stack
  == Spawn extension (restrictedroute-5aee0cc44da9dd93c7b7f7493389cea8, h, 1) exited non-zero on 'PJSIP/748-00064e17'
  == MixMonitor close filestream (mixed)
  == Executing [/etc/asterisk/scripts/mixmon-wav-mp3-wav.sh 2019 12 11 out-84997398001-748-20191211-105846-1576051124.439830 wav /var/spool/asterisk/monitor/]
    -- Channel PJSIP/BEELINE_9622088881-00064e19 left 'simple_bridge' basic-bridge <9d9551c2-175c-44fe-bc9d-9151736dd5af>
  == End MixMonitor Recording PJSIP/748-00064e17
    -- Exiting with 3000ms of silence >= 3000ms required
    -- Executing [123@amd-in:7] NoOp("Local/79066351111@from-internal-00000061;1", ""WAITSTATUS:"SILENCE") in new stack
    -- Executing [123@amd-in:8] NoOp("Local/79066351111@from-internal-00000061;1", ""THIS IS MACHINE."") in new stack
    -- Executing [123@amd-in:9] Set("Local/79066351111@from-internal-00000061;1", "MACHINE=1") in new stack
    -- Executing [123@amd-in:10] Hangup("Local/79066351111@from-internal-00000061;1", "") in new stack
  == Spawn extension (amd-in, 123, 10) exited non-zero on 'Local/79066351111@from-internal-00000061;1'
    -- Channel Local/79066351111@from-internal-00000061;2 left 'simple_bridge' basic-bridge <73181c97-6692-4860-8a95-69fce8ca806e>
  == Spawn extension (macro-dialout-trunk, s, 26) exited non-zero on 'Local/79066351111@from-internal-00000061;2' in macro 'dialout-trunk'
  == Spawn extension (restrictedroute-e1170fe6a9586fc09fb7d5477c6d08fb, 79066351111, 7) exited non-zero on 'Local/79066351111@from-internal-00000061;2'
    -- Executing [h@restrictedroute-e1170fe6a9586fc09fb7d5477c6d08fb:1] Hangup("Local/79066351111@from-internal-00000061;2", "") in new stack
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Call файл + AMD

Сообщение ded » 11 дек 2019, 15:20

ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Call файл + AMD

Сообщение skynetyar » 11 дек 2019, 18:02

Все таки только Chan_LEG ??? Или можно что то пытаться с Progress?
AMD получаеся не рабочий вариант? Объясните пожалуйста что не так?
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Call файл + AMD

Сообщение ded » 11 дек 2019, 18:19

Нет возможности объяснять "что не так?" всем желающим об этом спросить. :(
Там ещё и pjsip, вам явно хочется экспериментировать. Но тогда не надо задавать вопросы, а пройти самостоятельно этот путь, и опубликовать результаты. Таков Кодекс поведения на этом форуме, вы с ним согласились.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Call файл + AMD

Сообщение skynetyar » 11 дек 2019, 18:27

Сделаем SIP если это поможет, можете дать совет ,касаемо самого вопроса ? AMD уместен в данном случае? Для чего то он предназначен? Намекните куда рыть\копать? что не так?
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Call файл + AMD

Сообщение ded » 11 дек 2019, 18:32

skynetyar, я писал уже ранее: мы прошли этот же путь три года назад: начали с AMD + ChanSpy, и тоже через call files. Много комбинировали, пока не пришло понимание, что функциональности не хватает, существующими модулями никак не обойтись. Что и подвигло к написанию Chan_LEG.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Call файл + AMD

Сообщение skynetyar » 12 дек 2019, 10:24

Ясно, спасибо за Ваш опыт .., даже 50% срабатывания не добились?
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Call файл + AMD

Сообщение ded » 12 дек 2019, 12:55

Вам просто хочется пообщаться.
Если время много, и есть желание куражиться, то добейтесь хотя бы срабатывания AMD простого звонка с внутреннего номера на мобильный, который выключен. Без call files. Которые будут являться уже усложнением сценария, если получится.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Call файл + AMD

Сообщение skynetyar » 12 дек 2019, 18:40

Мне хочется понять, это работает или мне даже не пытаться и не тратить время на настройку сего чуда , даже если это будет срабатывать на 50%
Пока что я вижу что AMD принимает за машину и голос почему то...

Код: выделить все
- AMD: Channel [Local/79066350000@from-internal-0000006b;1]. Changed state to STATE_IN_SILENCE
    -- AMD: Channel [Local/79066350000@from-internal-0000006b;1]. Word detected. iWordsCount:1
    -- AMD: Channel [Local/79066350000@from-internal-0000006b;1]. Detected Talk, previous silence duration: 20
    -- AMD: Channel [Local/79066350000@from-internal-0000006b;1]. Detected Talk, previous silence duration: 20
    -- AMD: Channel [Local/79066350000@from-internal-0000006b;1]. Detected Talk, previous silence duration: 20
    -- AMD: Channel [Local/79066350000@from-internal-0000006b;1]. ANSWERING MACHINE: voiceDuration:1500 greeting:1500
    -- Executing [123@amd-in:4] NoOp("Local/79066350000@from-internal-0000006b;1", ""AMD STATUS IS :"MACHINE"...CAUSE:"LONGGREETING-1500-1500") in new stack
    -- Executing [123@amd-in:5] GotoIf("Local/79066350000@from-internal-0000006b;1", "0?human:mach") in new stack
    -- Goto (amd-in,123,6)
    -- Executing [123@amd-in:6] WaitForSilence("Local/79066350000@from-internal-0000006b;1", "3000|1|180") in new stack
    -- Waiting 1 time(s) for 3000ms of silence with 0s timeout


Detected Talk возникает в момент произношения слов, далее он почему то делает вывод что это машина...
Но опять же не вешает трубку почему то, если оно так долго работает , то какой смысл от такого звонка, по сути нужно определить что абонент доступен и вернуть это состояние в астериск .
Помогите разобраться ,Вы же имеете опыт в этом!
Последний раз редактировалось skynetyar 12 дек 2019, 18:53, всего редактировалось 1 раз.
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Call файл + AMD

Сообщение april22 » 12 дек 2019, 18:53

skynetyar писал(а):Мне хочется понять, это работает или мне даже не пытаться и не тратить время на настройку сего чуда , даже если это будет срабатывать на 50%
ded писал(а):мы прошли этот же путь три года назад: начали с AMD + ChanSpy, и тоже через call files. Много комбинировали, пока не пришло понимание, что функциональности не хватает, существующими модулями никак не обойтись. Что и подвигло к написанию Chan_LEG.
Своими вопросами , вы загоняете меня в ГУГЛЬ.
april22
 
Сообщений: 2187
Зарегистрирован: 09 июл 2012, 09:47

След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH