freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 20 апр 2024 13:30

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 10 сен 2013 05:40 

Зарегистрирован: 07 июн 2013 10:17
Сообщения: 122
Всё что нужно:)
Я правильно понимаю, что в
Код:
[curl_response_data=${curl_response_data}
первое "curl_response_data" можно заменить на что угодно? И ему присвоится значение, которое можно будет использовать при произношении полученного значения


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 10 сен 2013 06:56 

Зарегистрирован: 07 июн 2013 10:17
Сообщения: 122
С этим разобрался:) Если номер не зарегистрирован в биллинге, то в ответ на запрос curl'а идет не число, а, например, "!!!". Как заставить фрисвитч пропустить playback при получении такого ответа?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 10 сен 2013 07:14 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
http://phpclub.ru/faq/WhyForum

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 10 сен 2013 08:13 

Зарегистрирован: 07 июн 2013 10:17
Сообщения: 122
Я понимаю, что у меня слишком большие и частые запросы, но логика fs не всегда понятна:)
Думал сделать через anti-action application, но ничего путного не придумал
Есть еще мысли использовать hash, но там что-то совсем непотребное получается


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 10 сен 2013 08:37 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
http://wiki.freeswitch.org/wiki/Dialpla ... cal_AND.29

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 11 сен 2013 06:00 

Зарегистрирован: 07 июн 2013 10:17
Сообщения: 122
Правильно ли я использовал Multiple Conditions?:)

[+] 
Код:
<extension name="ivr_menu">
    <condition field="destination_number" expression="^3901$">
<------><action application="answer"/>
<------><!--запрос: абонент зарегистрирован? true - да, false - нет-->
<------><action application="curl" data="http://php.скрипт.зарегистрирован.ли.абонент=${caller_id_number}" inline="true"/>
<------><action application="log" data="CONSOLE [curl_response_code=${curl_response_code}] [curl_response_data=${curl_response_data}]" inline="true"/>
<------>    <condition field="${curl_response_data}"="true">
<------><------><!--запрос: есть ли долг? true - есть долг, false - нет долга-->
<------><------><action application="curl" data="http://php.скрипт.есть.ли.долг=${caller_id_number}" inline="true"/>
<------><------>    <condition field="${curl_response_data}"="false">
<------><------><------><action application="answer"/>
<------><------><------><action application="sleep" data="2000"/>
<------><------><------><action application="ivr" data="ivr_menu"/>
<------><------>    </condition>
<------><------>    <condition field="${curl_response_data}"="true">
<------><------><------><action application="answer"/>
<------><------><------><!--запрос: состояние счета, в рублях/копейках-->
<------><------><------><action application="curl" data="http://php.скрипт.состояние.счета=${caller_id_number}" inline="true"/>
<------><------><------><action application="playback" data="phrase:balance_is"/>
<------><------><------><action application="playback" data="phrase:saymoney:${curl_response_data}"/>
<------><------><------><action application="sleep" data="2000"/>
<------><------><------><action application="ivr" data="ivr_menu"/>
<------><------>    </condition>
<------>    </condition>
<------>    <condition field="${curl_response_data}"="false">
<------><------><action application="answer"/>
<------><------><action application="sleep" data="2000"/>
<------><------><action application="ivr" data="ivr_menu"/>
<------>    </condition>
    </condition>
</extension>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 11 сен 2013 06:35 

Зарегистрирован: 07 июн 2013 10:17
Сообщения: 122
Забыл еще expression поставить в condition field'ах


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 11 сен 2013 06:53 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
неверно
вкладывать в друг друга можно при использовании Nested_Conditions

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 11 сен 2013 07:48 

Зарегистрирован: 07 июн 2013 10:17
Сообщения: 122
А у child-condidions могут быть свои child-conditions'ы? И будут ли они выполняться в САМУЮ первую очередь, перед предыдущими?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: xml_curl
СообщениеДобавлено: 11 сен 2013 08:07 

Зарегистрирован: 07 июн 2013 10:17
Сообщения: 122
Получилось:) Выкладываю решение:
[+] 
Код:
<extension name="ivr_menu">
    <condition field="destination_number" expression="^3901$" require-nested="false">
<------><action application="answer"/>
<------>    <!--запрос: состояние счета, в рублях/копейках-->
<------>    <condition field="${curl_response_data}" expression="true" require-nested="false">
<------><------><action application="curl" data="http://php.скрипт.запрос.состояние.счета=${caller_id_number}" inline="true"/>
<------><------><action application="sleep" data="2000"/>
<------><------><action application="playback" data="phrase:balance_is"/>
<------><------><action application="playback" data="phrase:saymoney:${curl_response_data}"/>
<------><------><action application="sleep" data="2000"/>
<------><------><action application="ivr" data="ivr_menu"/>
<------><------><!--если задолженности нет, перевести на ivr-->
<------><------><anti-action application="ivr" data="ivr_menu"/>
<------><------>    <!--запрос: есть ли долг? true - есть долг, false - нет долга-->
<------><------>    <condition field="${curl_response_data}" expression="true" require-nested="false">
<------><------><------><action application="curl" data="http://php.скрипт.есть.ли.задолженность=${caller_id_number}" inline="true"/>
<------><------><------><!--если абонент не зарегистрирован - перевести его на ivr-->
<------><------><------><anti-action application="ivr" data="ivr_menu"/>
<------><------><------>    <!--запрос: абонент зарегистрирован? true - да, false - нет-->
<------><------><------>    <condition>
<------><------><------><------><action application="curl" data="http://php.скрипт.зарегистрирован.ли.абонент=${caller_id_number}" inline="true"/>
<------><------><------><------><action application="log" data="CONSOLE [curl_response_code=${curl_response_code}] [curl_response_data=${curl_response_data}]" inline="true"/>
<------><------><------>    </condition>
<------><------>    </condition>
<------>    </condition>
    </condition>
</extension>


Сначала проверяется, зарегистрирован ли абонент. Если нет, то переводит на ivr, если да, то дальше;
Потом проверяется его счет, если положительный, то переводит на ivr, если отрицательный, то дальше;
Произносится его счет (напоминание) и уже после переводится на ivr.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB