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

Dongle,SMS, не пишет в лог смс

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

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

Re: Dongle,SMS, не пишет в лог смс

Сообщение virus_net » 31 янв 2017, 09:56

1. Учимся пользоваться CLI:
Код: выделить все
*CLI> core show function BASE64_DECODE

[Показать] Спойлер:
Код: выделить все
  -= Info about function 'BASE64_DECODE' =-

[Synopsis]
Decode a base64 string.

[Description]
Returns the plain text string.

[Syntax]
BASE64_DECODE(string)

[Arguments]
string
    Input string.

[See Also]
BASE64_ENCODE, AES_DECRYPT, AES_ENCRYPT


2. Учимся всегда указывать полные пути до всех вызываемых диалпланом и исполняемых бинарей в системе. Не echo, а /bin/echo и т.п.
Во избежании других необъяснимых вещей в других ситуациях.

3. Копипаст - сын ошибок трудных...
Если вы нумеруете шаги диалплана сами, то и нумеруйте до конца, а не бросайте на середине. Или всю нумерацию, кроме первого пункта, заменить на n, что есть правильно.
В шагах 2 и 3 echo вызывается с аргументом в двойных кавычках, а в 5 шаге в одинарных.

4. Попробовать присвоить ${BASE64_DECODE(${SMS_BASE64}) другой переменной и ниже использовать эту переменную.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Dongle,SMS, не пишет в лог смс

Сообщение skynetyar » 31 янв 2017, 12:39

Спасибо за разъяснения!

Проблему решил, дело было в Noop заменил на Verbose дело пошло нормально,убрал нумерацию кроме 1 пункта и кавычки сделал одинарные везде, вот в интернете куча мануалов и везде по разному...
В итоге вышло так, может кто то возьмет из блуждающих в поисках того же в интернете..
Напомню что Asterisk 13 + FreePBX 13, Distro
/etc/asterisk/extensions_custom.conf
Код: выделить все
[from-gsm]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})} on ${DONGLENAME})
exten => sms,n,System(/bin/echo 'Subject: Входящая СМС от: ${CALLERID(num)} ,на модем: ${DONGLENAME}' > /var/log/asterisk/sms.txt)
exten => sms,n,System(/bin/echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME} - ${CALLERID(num)}: ${BASE64_DECODE(${SMS_BASE64})}' >> /var/log/asterisk/sms.txt)
exten => sms,n,System(sendmail -f  out@gmail.com -t in@gmail.com < /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})})
exten => ussd,n,System(echo 'Subject: Входящая USSD ,на модем: ${DONGLENAME}' > /var/log/asterisk/ussd.txt)
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME} :${BASE64_DECODE(${USSD_BASE64})}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,System(sendmail -f  out@gmail.com -t in@gmail.com < /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()

[from-pstn-custom]
exten => sms,1,Goto(from-gsm,${EXTEN},1)
exten => ussd,1,Goto(from-gsm,${EXTEN},1)


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

Re: Dongle,SMS, не пишет в лог смс

Сообщение ded » 31 янв 2017, 12:50

C макро - проще!
Код: выделить все
exten => sms/123456,1,Macro(from-gsm,${DONGLENAME},user-1@gmail.com)
exten => sms/567890,1,Macro(from-gsm,${DONGLENAME},user-2@gmail.com)

[macro-from-gsm]
exten => s,1,Verbose(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})} on ${ARG1})
exten => s,n,System(/bin/echo 'Subject: Входящая СМС от: ${CALLERID(num)} ,на модем: ${ARG1}' > /var/log/asterisk/sms.txt)
exten => s,n,System(/bin/echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${ARG1} - ${CALLERID(num)}:{BASE64_DECODE(${SMS_BASE64})}' >> /var/log/asterisk/sms.txt)
exten => s,n,System(sendmail -f  out@gmail.com -t ${ARG2} < /var/log/asterisk/sms.txt)
exten => s,n,Hangup()
ded
 
Сообщений: 15823
Зарегистрирован: 26 авг 2010, 19:00

Re: Dongle,SMS, не пишет в лог смс

Сообщение skynetyar » 31 янв 2017, 13:52

Супер!
Большое Спасибо!
Подскажите ${ARG1} (${ARGn} – аргумент 'n' в макросе.) имеется в виду вот это
exten => sms/123456,1,Macro(from-gsm,${DONGLENAME},user-1@gmail.com) - это ${ARG1}
exten => sms/567890,1,Macro(from-gsm,${DONGLENAME},user-2@gmail.com) - это ${ARG2}

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

Re: Dongle,SMS, не пишет в лог смс

Сообщение ded » 31 янв 2017, 14:04

Читать книгу.
Не писать.
ded
 
Сообщений: 15823
Зарегистрирован: 26 авг 2010, 19:00

Re: Dongle,SMS, не пишет в лог смс

Сообщение Wapo » 31 янв 2017, 14:07

Вот это я понимаю глубину мыслей!!!! :lol:

Macro(hello,dyrak1,dyrak2)

[macro-hello]

exten => s,1,ExecIf( $[${day}=1]?Verbose(${ARG1}:Verbose(${ARG2}))
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

Re: Dongle,SMS, не пишет в лог смс

Сообщение skynetyar » 31 янв 2017, 14:38

Macro(hello,dyrak1,dyrak2)
[macro-hello]
exten => s,1,ExecIf( $[${day}=1]?Verbose(${ARG1}:Verbose(${ARG2}))


Что ж, тоже наглядный ответ :oops:
Macro(имямакроса,arg1,arg2...) - этого было бы достаточно ;)
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Dongle,SMS, не пишет в лог смс

Сообщение Wapo » 31 янв 2017, 16:08

А что поделать, если для кого-то писать в форуме легче нежели в гугл-поиске?
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

Re: Dongle,SMS, не пишет в лог смс

Сообщение ded » 31 янв 2017, 16:33

..точнее - (кислотно-щелочной) баланс читать/писать сдвинут в сторону писать (щелочной).
А нормальная среда в желудке - кислая. То есть читать.
ded
 
Сообщений: 15823
Зарегистрирован: 26 авг 2010, 19:00

Re: Dongle,SMS, не пишет в лог смс

Сообщение skynetyar » 31 янв 2017, 17:01

Да полно Вам..
Гугол содержит много всего устаревшего и неактуального..
А вот по существу, делаю и что то косяк где скрылся, были бы добры работу над ошибками :oops:

[Показать] Спойлер:
[from-gsm]
exten => sms/D79206509000,1,Macro(from-gsm-sms,${DONGLENAME},adm@gmail.com) ;sms/DONGLEID
;exten => sms/567890,1,Macro(from-gsm-sms,${DONGLENAME},user-2@gmail.com)

exten => ussd/D79206509000,1,Macro(from-gsm-ussd,${DONGLENAME},adm@gmail.com) ;ussd/DONGLEID
;exten => ussd/567890,1,Macro(from-gsm-ussd,${DONGLENAME},user-2@gmail.com)

[macro-from-gsm-sms]
;${ARG1} - DONGLENAME , ${ARG2} - email
exten => s,1,Verbose(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})} on ${ARG1})
exten => s,n,System(/bin/echo 'Subject: Входящая СМС от: ${CALLERID(num)} ,на модем: ${ARG1}' > /var/log/asterisk/sms_${ARG1}.txt)
exten => s,n,System(/bin/echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${ARG1} - ${CALLERID(num)}:{BASE64_DECODE(${SMS_BASE64})}' >> /var/log/asterisk/sms_${ARG1}.txt)
exten => s,n,System(sendmail -f info@dom.ru -t ${ARG2} < /var/log/asterisk/sms_${ARG1}.txt)
exten => s,n,Hangup()

[macro-from-gsm-ussd]
;${ARG1} - DONGLENAME , ${ARG2} - email
exten => s,1,Verbose(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})} on ${ARG1})
exten => s,n,System(echo 'Subject: Входящая USSD ,на модем: ${ARG1}' > /var/log/asterisk/ussd_${ARG1}.txt)
exten => s,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${ARG1} :${BASE64_DECODE(${USSD_BASE64})}' >> /var/log/asterisk/ussd_${ARG1}.txt)
exten => s,n,System(sendmail -f info@dom.ru -t ${ARG2} < /var/log/asterisk/ussd_${ARG1}.txt)
exten => s,n,Hangup()

[from-pstn-custom]
exten => sms,1,Goto(from-gsm,${EXTEN},1)
exten => ussd,1,Goto(from-gsm,${EXTEN},1)


Код: выделить все
Channel 'Local/ussd@from-pstn-0000003b;1' sent to invalid extension but no invalid handler: context,exten,priority=from-gsm,ussd,1
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Пред.След.

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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 21

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