ВОПРОС
Уведомление по sms
Добрый день! В нашей лицензии есть опция «Уведомление по SMS», которую мы собираемся использовать и купить для этого GSM-модем. Какие далее нужно будет сделать настройки, и какие использовать блоки в редакторе звуковых приложений для реализации этой опции? Спасибо.
ОТВЕТ
Здравствуйте! 1. Настройки для работы модема в Windows, которые должны быть в документации, поставляемой вмнсте с модемом. 2. Настройки модема для правильной работы с Smartphone Server, находятся в файле справки на смартфон в разделе «Описание Smartphone Server» -> Главное окно Smartphone Server — > Обзор базовых функций. 3. Для написания своих приложений в редакторе звуковых приложений, можно использовать функцию SMS_send (подробное описание смотрите в файле справки). Вячеслав.
ВОПРОС
Добрый день! Я установил GSM-модем, проверил его работу — все ОК. В настройках задал номер центра SMS-сообщений: +7(495)7699100. В файл smphone.ini добавил раздел [SMS] с параметром StartSMSServices=1. Потом из звукового приложения вызвал функцию SMS_send(\»89166058003\»,\»test\»). Возвращенное ею значение — \»E_ARGS\», то есть неправильный аргумент. Не подскажете, в чем ошибка?
ОТВЕТ
Здравствуйте! 1. Нужно обязательно ввести пин-код. 2. номер центра SMS-сообщений без скобок.
ВОПРОС
Ввел ПИН-код. Убрал скобки из номера центра. Теперь номер выглядит так: +74957699100. Пробую отправить SMS. Через 10 секунд функция возвращает (x80040004)-E_ERROR. Что интересно: теперь все поля в окне настроек SMS (ПИН-код, номер центра сообщений, СОМ-порт…) заблокированы, и изменить их значения нельзя.
ОТВЕТ
здравствуйте! 1. попробуйте вот такой скрипт int res=sms_send(«GSM:+7здесь номер», «For game send G»); log(«sms_send: «+res); 2. проверьте номер оператора GSM — позвоните в справочную службу и удостоверьтесь в правильности используемого номера.
ВОПРОС
Логи смартфона
На компьютере где установлен смартфон в папке С:\@tmp@smp ведутся логи. Хотелось бы понять, что означает наименование файлов: B1C01.log, B1C02.log и т.д. Дело в том, что я не могу найти лога звонков на 11-ю линию. И еще. Где можно достать (приобрести, скачать) справочник или любую другую литературу по тем функциям, вызов которых отражается в этом логе? И где вообще можно достать расширенное руководство по внутренним алгоритмам работы смарфона? Может быть есть некие учебные курсы?
ОТВЕТ
B1C01.log — соответсвует линии 1, В1С02.log — линии 2 и так далее. Для линии 11 — В1С11.log. Данные логи используются службой поддержки и разработчиками. Вы можете их прислать для обработки. По поводу возможности обучения пожалуйста обратитесь в наш москоский офис.
ВОПРОС
Проговаривание чисел голосом
Добрый день! Я создал звуковое приложение для проговаривания стоимости финансовых паев. Стоимость меняется каждый день, поэтому вносить ее вручную в блоки синтеза речи будет затруднительно. Есть возможность выгружать эту стоимость в текстовый файл. Но есть ли возможность подгружать числа из текстового файла с помощью языка сценариев, присваивать эти значения строковым переменным и далее синтезировать по ним речь? Состав функций для обработки файлов в языке сценариев весьма ограничен, и не содержит функций для открытия файлов и считывания из них данных.
ОТВЕТ
Добрый день! Можно делать напрямую запрос в базу данных через ODBC драйвер и полученное значение через переменную подставлять либо в блок синтеза речи, либо использовать функцию синтеза речи.
ВОПРОС
Добрый день! я сделал как Вы посоветовали. Вроде бы работает, но появились 2 момента: 1. Звуковое приложение не закрывает после своей работы базу данных MDB, так как на диске остается файл LDB. 2. При проговаривании чисел, нужно чтобы число копеек проговаривалось с учетом женского рода слова \»копейка\», то есть не \»тридцать один\», а \»тридцать одна\», а далее мы вставляем слово \»копейка\». Возможно ли как-то заставить проговаривать числа в женском роде?
ОТВЕТ
Здравствуйте! 1. Попробуйте использовать Disconnect (см. help). 2. Как запрограммируете, так и будет проговаривать. Встроенного движка, определяющего в каком роде нужно проговаривать — нет.
ВОПРОС
Не понял что значит \»как запрограммируете так и будет проговаривать\»? Я пользуюсь стандартным блоком синтеза речи для проговаривания чисел. Полноценной лицензии на синтез речи у нас нет. Ее стоимость 1600 у.е., и ради только того, чтобы проговаривались числа в женском роде, покупать такую лицензию мы пока не хотим. Правильно ли я понял, что стандартными средствами нельзя выйти из данной ситуации? Нам всего лишь нужно проговорить стоимость в рублях и копейках.
ОТВЕТ
когда я писал «как запрограммируете так и будет проговаривать», я имел ввиду, что вы после того как получили нужную цифру из базы данных, подвергаете её анализу. Например, если цифра 35 , то «тридцать пять» проговаривается синтезом, а «копеек», вы подставляете в виде заранее записанного голосового файла. Т.е. вы заранее должны составить базу данных для каких чисел нужно проговаривать в мужском, а для каких в женском роде. Других вариантов нет.
ВОПРОС
Вячеслав, да это я давно сам понял. Если бы проблема была в этом! Проблема состоит в том, что (я ее описал в своем вопросе): число 31 будет проговариваться как \»тридцать один\», а не \»тридцать одна\», как нужно, потому что после \»тридцать одна\» идет \»копейка\», но процедура синтеза речи об этом же не знает! Она все равно будет проговаривать \»тридцать один\», независимо от того, что я поставлю дальше! В этом случае нужно будет либо оставить \»тридцать один копеек\», либо синтезировать \»тридцать\», а \»одна копейка\» — записать вживую. Но в этом случае, поскольку нельзя подобрать голос, идентичный синтезируемому, итоговая речевка будет выглядеть некрасиво ввиду того, что это увеличит количество \»стыковок\» синтезированной и живой речи.
ОТВЕТ
Могу предложить использовать системные промты в приложении: C:\Program Files\Smartphone Server\SYSPRMTS\L6\ Там записано, например: «один», «одна»,»первое», «первого» и т.д. Т.е. сначала анализировать, в каком роде будет произноситься число, а потом проигрывать нужные системные промты.
ВОПРОС
Проблема с типом переменной
Какой тип переменной должен быть, для отображения числа например 10,25 а не 10,2500000. Или какя функция позволит это сделать?
ОТВЕТ
1. В любой базе данных можно задать тип данных. В случае 10,25 — число с плавающей запятой. Там же задается и число десятичных знаков после запятой. Это подчёркиваю настройки БАЗЫ ДАННЫХ. 2. Если при выборке число с двумя знаками после запятой преобразуется в число с большим количеством знаков, то предлагаю следующее: сделать посимвольный анализ числа в звуковом приложении и после запятой включать счётчик и проигрывать промты только для ДВУХ символов.
ВОПРОС
Продолжение вопроса про переменные
Уточняю вопрос. В vap editor help ->SmartBasic Scripting Reference ->Basic Data Types -> указанны тыпы переменных : The Variant data type Numeric data types The String data type The Date data type The Object data type The Empty value Data types not supported Если выбрать Data types not supported то там написанно Differences from VBA: Currency and Decimal data types are not supported by SmartBasic. Тоесть например в вап едиторе я создаю блок script пишу в нём Dim Variable as Double Variable=25.5 MSGBOX Variable получаю 25,5000000000 база данных тут непричём как мне внутри смарт байсика получить 25,5
ОТВЕТ
Могу только посоветовать следующее: сделать посимвольный анализ числа 25,5000000000 в голосовом приложении (вапе) и после запятой включать счётчик и проигрывать промты только для ДВУХ или ОДНОГО символа, в зависимости от задания
ВОПРОС
Настройка ветвления по номеру телефона
помогите разобраться! Есть вопрос по настройке маршрутизации в Smartphone. используется Smartphone v5. Работает по H323 с Cisco CallManager. Все факсы приходят на один городской номер и пересылаются на секретаря (по email). Возникла нужда в добавлении еще 2 входящих номеров (например, xxxxxxx и yyyyyyy) для организации доставки факсов 2-м подразделениям (например, в отдел IT на e-mail it@unknown.com и в бухгалтерию – buh@unknown.com). Вопрос (возможно не совсем корректный): Необходимо чтобы при звонке на один из трех номеров факс в автоматическом режиме сразу доставлялся в соответствующее подразделение (на определенный e-mail) без дополнительного набора. Как с помощью языка сценариев решить такую задачку? VAP файл прилагаю. Возможно есть какой-то другой подход в решении вопроса? Помогите, пожалуйста, потому что новичок в этом и не могу разобраться с программированием данного vap. заранее, благодарен!
ОТВЕТ
Здравствуйте. Вы прислали сценарий mail-to-fax.vap предназначенный для отправки ИСХОДЯЩИХ факс-сообщений. Этот сценарий поставляется в комплекте дистрибутива. Вам же требуется написать СВОЙ сценарий для обработки ВХОДЯЩИХ вызовов. В письме я вам писал кратко, как это сделать — » Создаете еще два ящика, в сценарии при приходе вызова из системной переменной DNIS извлекаете набранный номер и в зависимости от того какой был набран делаете присваивание в DID2 номер соответствующего п/я, при этом указывая его в свойствах п/я в закладке другие в поле факс для получения. DID1 должен быть равным – 7, т.е. так DID1=”7”; DID2=”номер соответствующего ящика”. Путь к сценарию должен быть прописан в переменной run_before в настройках смартфона.» Обучить технологии программирования с использованием встроенного языка сценариев в рамках техподдержки вряд ли возможно. Вам необходимо основательно изучить документацию на продукт и примеры, которые уже есть в установленной системе. Документация на русском языке. Ваша задача достаточно тривиальна, практически все инсталяции обеспечивают маршрутизацию вызовов в конкретный п/я на основании полученной информации от АТС либо CCM, в вашем случае после получении вызова надо извлечь информацию из системной переменной DNIS и далее в зависимости от ее содержимого делать ветвление в сценарии. ПОВТОРЮСЬ еще раз, есть примеры, посмотрите их, изучите, попробуйте у себя, как они работают.