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

Имя принявшего звонка в записе

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
musho5755
Сообщения: 37
Зарегистрирован: 07 ноя 2015, 16:41

Имя принявшего звонка в записе

Сообщение musho5755 »

Ситуация такова. Есть 8 канальный Goip. Звонки попадают в сим, потом транслируются в Voip номер(Forwarding to VoIP Number, Use CID as SIP caller ID) (на пример 2000), а когда 2000 вызываеться в астериск, он звонит на 101, 102, ... софтфоны. У каждого софтфона есть свой оператор. Надо, чтобы в имя файла записи было написано имя оператора, который ответил на звонок.

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

[incoming]

exten => 2000,1,Background(/var/lib/asterisk/moh/voicemail/bari)
exten => 2000,2,Set(fname=${STRFTIME(${EPOCH},,%d.%m.%Y_%H:%M)}_${CALLERID(dnid)}_${CALLERID(num)})
exten => 2000,3,MixMonitor(/var/www/records/${fname}.wav)
exten => 2000,4,Dial(SIP/101&SIP/102&SIP/103,,t&m)
exten => 2000,5,Hangup
exten => h,1,System(/usr/bin/lame -b 16 -silent /var/www/records/${fname}.wav /var/www/records/${fname}.mp3)
exten => h,n,System(/bin/rm -r /var/www/records/${fname}.wav)
в ${CALLERID(dnid)} пишется 2000, а надо, чтобы было написано на пример 103. Как сделать так, чтобы запись началось после поднятия трубки, чтобы fname= определил кто поднял? и как в имя файла написать это? Заранее спасибо. Только пожалуйста, если можете помочь, помогите, а не посылайте в гугл. я там замучился очень. И прошу знатокам строго не судить за вопрос.
sip-queue
Сообщения: 15
Зарегистрирован: 03 дек 2015, 10:42

Re: Имя принявшего звонка в записе

Сообщение sip-queue »

Например так:

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

exten => h,n,Set(channel=${CDR(dstchannel):4})
exten => h,n,Set(var=${CUT(channel,-,1)})
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Имя принявшего звонка в записе

Сообщение ded »

musho5755 писал(а):Есть 8 канальный Goip. Звонки попадают в сим, потом транслируются в Voip номер(Forwarding to VoIP Number, Use CID as SIP caller ID) (на пример 2000), а когда 2000 вызываеться в астериск, он звонит на 101, 102, ... софтфоны. У каждого софтфона есть свой оператор. Надо, чтобы в имя файла записи было написано имя оператора, который ответил на звонок..
Вот звонок от Маши (+7 901 2323232), которая набрала один из номеров симок, которые работают в GoIP - +7 911 5656565. Откуда вызов пошёл в Астериск, где указана обработка входящих в группе операторов 101-102-103
Изображу так:
Маша <+7 901 2323232> ---> GoIP-sim1 <+7 901 2323232> ---> [Asterisk group call] ---> Smooth operator <101>

Тут вам надо бы отобразить в CDR все эти номера, полагаю: кто звонил, на какой номер и кто поднял.
CID ---> DID ---> extension num.
Каждая инстанция имеет имена и номера: CID name <CID num>, и в этом определении ваш промежуточный номер 2000 не имеет никакого смысла. Туда надо забить в GoIP номер сим карты, которая работает в этом порту. Это гораздо вразумительней.
В стандартных, не самописных конфигах, входящих сценариях вызовов маршрутизация делается по DID (в вашем случае - 2000), очень настойчиво рекомендую сменить! И при выполнении шагов - на 2-м шаге Вы определили имя файла, куда вписали все параметры, Но звонок ещё не пошёл операторам 101-102-103! И неизвестно - кто из них снимет трубку! И как Вы собрались записать номер и/или имя оператора, когда ещё не ясно кто это будет? Неужели Вы этого не видите?

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

exten => 2000,1,Background(/var/lib/asterisk/moh/voicemail/bari)
exten => 2000,2,Set(fname=${STRFTIME(${EPOCH},,%d.%m.%Y_%H:%M)}_${CALLERID(dnid)}_${CALLERID(num)})
exten => 2000,3,MixMonitor(/var/www/records/${fname}.wav)
exten => 2000,4,Dial(SIP/101&SIP/102&SIP/103,,t&m)
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Имя принявшего звонка в записе

Сообщение Aven »

Как сделать так, чтобы запись началось после поднятия трубки
Поставить параметр MixMonitor'а.
определил кто поднял?
Переименовать файл после окончания записи в h экстеншене. Имя канала звонившего есть в переменных канала.
Решения телефонии на базе Asterisk || http://it-need.ru
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Имя принявшего звонка в записе

Сообщение virus_net »

Aven писал(а):Переименовать файл после окончания записи в h экстеншене
ИМХО: лучше стартовать MixMonitor после того как оператор снял трубку. Тогда и файл будет сразу именованный и гудков дозвона в записи не будет.
Упреждая вопрос "как" - прочитайте о ключах в команде Dial.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
musho5755
Сообщения: 37
Зарегистрирован: 07 ноя 2015, 16:41

Re: Имя принявшего звонка в записе

Сообщение musho5755 »

MixMonitor уже стартует после поднятие трубки. но под конец не получается пыхнуть имя поднявшего трубку оператора в файл
ded писал(а): входящих сценариях вызовов маршрутизация делается по DID (в вашем случае - 2000), очень настойчиво рекомендую сменить!
почему?
Aven писал(а): Переименовать файл после окончания записи в h экстеншене
вот это хочу узнать. Что нужно поставить?
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Имя принявшего звонка в записе

Сообщение Aven »

Файлы переименовываются командой mv.
Решения телефонии на базе Asterisk || http://it-need.ru
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Имя принявшего звонка в записе

Сообщение Wapo »

Выбирайте вариант:
1. Чтение книги: http://asterisk.ru/knowledgebase/books
2. Даем команду core show application dial
3. Не "ожидая милости от природы(форума)" включаем мозги и ... используем m для запуска макро в момент "поднятия трубки" ОПЕРАТОРОМ а не астером в момент прихода звонка, там же ставим что-то типа Chandump, смотрим какие есть переменные и ............

Премию, которую получите, возможно, ОБЯЗАТЕЛЬНО перечислите сообществу.
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Имя принявшего звонка в записе

Сообщение virus_net »

musho5755 писал(а):MixMonitor уже стартует после поднятие трубки
Правда ? Это в какой из этих двух строк написано ?
ded писал(а):exten => 2000,3,MixMonitor(/var/www/records/${fname}.wav)
exten => 2000,4,Dial(SIP/101&SIP/102&SIP/103,,t&m)
Диалплан выполняется ПОСЛЕДОВАТЕЛЬНО.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
musho5755
Сообщения: 37
Зарегистрирован: 07 ноя 2015, 16:41

Re: Имя принявшего звонка в записе

Сообщение musho5755 »

имею виду, что изменил уже
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH