AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

chan_datacard: PDU mode SMS

Asterisk-Dev 6 сообщений -
#1

chan_datacard: PDU mode SMS


Написал патч для chan_datacard. Данный патч добавляет в модуль функции для отсылки SMS в виде PDU. Соответственно, становится возможным отсылать SMS с русским языком без каких-либо проблем.

Ограничения:
1) максимальный размер PDU -- 70 байт. Соотвественно после включения отсылки SMS как PDU ниодно сообщение(как на английском, так и на русском) не может быть более 70 байт в кодировке UCS-2.

Патч писался к 174 ревизии chan_datacard(на данный момент последняя в транке). После наложения патча и установки chan_datacard для вкючения режима PDU необходимо в datacard.conf добавить smsaspdu=yes к конфигурации устройства.

Это мой первый опыт написания чего-либо для астера, так что не судите строго.
#2

В случе выключенного smsaspdu там будет понемногу течь память из-за dstnum, например.
ast_strdup там почти нигде не надо
#3

Ага, не заметил. Спасибо.
#4

посмотрел сюда, посмотрел туда и переписал chan_datacard для полной работы с PDU Razz Razz
а то как то странно, включаешь отправку в PDU а приёма больше нет BigGrin3

Там сейчас проверяется сообщение на 7битность и шлётся в GSM 7Bit что позволяет слать до 160 символов как и
положенно. Могу прикрутить разбиение на фрагменты, но может оказаться дорого пульнуть КБ 10-16 Smile


смотреть сюда http://code.google.com/p/datacard/
#5

Было бы прекрасно, если бы вам удалось встроить в chan_datacard "очередь sms" с контролем отправки. Т.е. что бы следующее СМС не отправлялось до той поры, пока не отправлено предыдущее(так, например, реализовано в smstools). В текущей ситуации, если не выдержать значительную паузу между двумя подряд СМС --- chan_datacard уходит в ступор после отправки первой СМС, так как пытается послать вторую не дождавшись ответа OK после отправки первой СМС.

Надеюсь, что объяснил понятно.
#6

объяснил понятно.
очередь команд существует c Сб Ноя 13, 2010
http://asteriskforum.ru/viewtopic.php?p=46694#46694
и насколько я понимаю по задержке после подачи приглашения на ввод текста или PDU, ввода и 0x1A происходит
отправка.
Коллизий при отправке SMS нет, т.к. команды выполняются задачами.
Снята с выполнения может быть только целая задача, и пока одна задача не завершена
другая на обработку в модем не попадает.