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

Не учитывается таймзона и язык

Использование и настройка других открытых VoIP PBX

Модератор: april22

Не учитывается таймзона и язык

Сообщение tma » 16 янв 2016, 15:51

Всем привет,

Какой-то странный глюк или я чего-то не так делаю.
Выставляю перед транфером на номер 201 язык "ru" и таймзону - Europe/Moscow.
Таймзона у сервера - UTC+0. Язык по уолчанию у FreeSWITCH - ru.
Конфиг:

Код: выделить все
    <extension name="CallCenter">
      <condition field="destination_number" expression="^201$" break="on-false"/>
        <!-- Mon-Fri, 09:00-17:00 Europe/Moscow -->
        <!-- <condition wday="2-6" time-of-day="09:00-17:00" break="on-true"> -->
        <condition wday="2-6" time-of-day="06:00-14:00" break="on-true">
          <action application="log" data="INFO >>> language: ${default_language} TimeZone: ${default_timezone} Current Time: ${strftime(%H:%M:%S)}"/>
          <!-- limit 3 calls to this destination number per 1 second, otherwise give congestion message -->
          <action application="limit" data="hash inbound ${destination_number} 3/1 !NORMAL_CIRCUIT_CONGESTION"/>
          <!-- hangup after successful bridge to agent -->
          <action application="set" data="hangup_after_bridge=true"/>
          <!-- queue caller -->
          <action application="callcenter" data="sales@${domain}"/>
          <!-- if no agent was reached and using max-wait-time - send to general voicemail -->
          <action application="playback" data="ivr/ivr-send_to_voicemail.wav"/>
          <action application="set" data="skip_greeting=true"/>
          <action application="set" data="skip_instructions=true"/>
          <action application="voicemail" data="default ${domain} 222"/>
          <action application="hangup"/>
       </condition>
       <condition>
         <action application="limit" data="hash inbound ${destination_number} 3/1 !NORMAL_CIRCUIT_CONGESTION"/>
         <!-- outside business hours - play message and send to general voicemail -->
         <action application="playback" data="ivr/ivr-send_to_voicemail.wav"/>
         <action application="set" data="skip_greeting=true"/>
         <action application="set" data="skip_instructions=true"/>
         <action application="voicemail" data="default ${domain} 222"/>
         <action application="hangup"/>
      </condition>
    </extension>

Русские файлы есть, все прописано.

В результате время учитывается системное, хоть тресни, так же как и язык!
Причем проговаривалка времени работает корректно - учитывает язык и учитывает таймзону:
Код: выделить все
    <extension name="saytime">
      <condition field="destination_number" expression="^saytime$">
        <action application="answer"/>
        <action application="set" data="timezone=${default_timezone}"/>
        <action application="say" data="ru CURRENT_TIME pronounced ${strepoch()}"/>
        <action application="hangup"/>
      </condition>
    </extension>


Кто что посоветует?
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1744
Зарегистрирован: 18 сен 2010, 20:50

Re: Не учитывается таймзона и язык

Сообщение Vlad1983 » 16 янв 2016, 17:57

Код: выделить все
grep Moscow autoload_configs/timezones.conf.xml


default_timezone ?
есть timezone

https://freeswitch.org/confluence/displ ... ay+Routing
variable timezone
Alternatively, you can use the Timezone name and FS will lookup the correct offset to apply to TOD routing.
NOTE: as with tod_tz_offset, the variable must actually be set before the comparison, so either set it inline, transfer, or set it in the user directory.


default_language не влияет на playback, в котором явно задается файл
нужно использовать макросы phrase
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4169
Зарегистрирован: 09 авг 2011, 11:51

Re: Не учитывается таймзона и язык

Сообщение tma » 16 янв 2016, 21:28

Зона есть, default_timezone описан у меня отдельно и устанавливается вручную.
Время проговаривается корректно - с учетом таймзоны и только. На condition не влияет. Смещение влияет.
Переменная timezone тоже не помогает:
Код: выделить все
        <action application="set" data="timezone=Europe/Moscow"/>
        <action application="set" data="language=ru"/>
        <action application="log" data="INFO >>> language: ${language} TimeZone: ${timezone} Current Time: ${strftime(%H:%M:%S)}"/>

Вывод:
Код: выделить все
EXECUTE sofia/internal/<NUMBER>@78.155.208.37:5061 log(INFO >>> language: ru TimeZone: Europe/Moscow Current Time: 17:23:42)
2016-01-16 17:23:42.474762 [INFO] mod_dptools.c:1670 >>> language: ru TimeZone: Europe/Moscow Current Time: 17:23:42

Время как было системным, так и осталось.
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1744
Зарегистрирован: 18 сен 2010, 20:50

Re: Не учитывается таймзона и язык

Сообщение tma » 16 янв 2016, 21:34

Vlad1983 писал(а):default_language не влияет на playback, в котором явно задается файл
нужно использовать макросы phrase

У меня стоит "lang/ru/ru.xml" и загружены русские звуковые файлы.
voicemail проговаривает по-русски, время - тоже, а как быть с playback - что-то не понятно.
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1744
Зарегистрирован: 18 сен 2010, 20:50

Re: Не учитывается таймзона и язык

Сообщение Vlad1983 » 16 янв 2016, 21:41

потому что читайте как FS матчит по диалплану
все переменные в condition должны быть выставлены до входа в контекст
я там в цитате не зря жирным выделил
читать про transfer, execute_extension, inline

это касается timezone, т.к. оно тут
<condition wday="2-6" time-of-day="06:00-14:00" break="on-true">

насчет языка перечитайте ещё раз мой предыдущий пост или хотя бы по ссылке пройдите
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4169
Зарегистрирован: 09 авг 2011, 11:51

Re: Не учитывается таймзона и язык

Сообщение tma » 16 янв 2016, 23:35

Странно, делал же до transfer, конечно же. Сейчас сделал дополнительный extension из которого делаюtransfer еще раз предварительно установив таймзону, вроде теперь работает, но strftime(%H:%M:%S) все равно выводит локальное время.

Vlad1983 писал(а):насчет языка перечитайте ещё раз мой предыдущий пост или хотя бы по ссылке пройдите

Читал, в некоторых случаях проще напрямую указывать файл, чем городить огород.
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1744
Зарегистрирован: 18 сен 2010, 20:50

Re: Не учитывается таймзона и язык

Сообщение Vlad1983 » 17 янв 2016, 10:35

вместо strftime для выхлопа с учетом TZ используется strftime_tz
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4169
Зарегистрирован: 09 авг 2011, 11:51


Вернуться в FreeSwitch, SER, Yate и другие

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

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

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