из ирки, #freeswitch
<pankid> I am trying to setup freeswitch HA using thishttps://freeswitch.org/confluence/display/FREESWITCH/High+Availability . I configured freeswitch to store registrations on internal to a mysql database through odbc, but it doesnt seem to be writing anything to my database
<pankid> http://paste.debian.net/333170/
<eschmidbauer> pankid: take "<param name="core-recovery-db-dsn" value ..." out of sofia
<pankid> eschmidbauer: and only have it in switch.conf?
<eschmidbauer> you need this in switch.conf.xml --> <param name="core-db-dsn" value="..." />
<eschmidbauer> yes, you only need that and the above in switch.conf.xml
<eschmidbauer> then in sofia, you need
<eschmidbauer> <param name="odbc-dsn" value="...." />
<eschmidbauer> so yur sofia profiles share a single db
<eschmidbauer> and the core shares a single db
<pankid> do they need to be different databases?
<eschmidbauer> doesn't matter, they can be same
<eschmidbauer> or different, as long as the values are same on each box
<pankid> will freeswitch populate the database I created in mysql?
<pankid> according to this old documentation it will, https://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core#CentOS_5.2 but I am not seeing any indication freeswitch is trying to use this database.
пятница, 22 января 2016 г.
факсы - про размеры
из ирки, #freeswitch
<playnet> what correct size for fax? 1728x1186, 1728x1078, 1728x2156?
<playnet> or 1728 x something? What size for A4?
<coppice> length depends on the resolution, and its not a precisely defined number. Only the 1728 is precisely defined
<coppice> For A4 the lengths are 11xx for standard, 22xx for fine and 44xx for super-fine, but short pages are valid
<playnet> what correct size for fax? 1728x1186, 1728x1078, 1728x2156?
<playnet> or 1728 x something? What size for A4?
<coppice> length depends on the resolution, and its not a precisely defined number. Only the 1728 is precisely defined
<coppice> For A4 the lengths are 11xx for standard, 22xx for fine and 44xx for super-fine, but short pages are valid
пятница, 15 января 2016 г.
freeswitch: voicemail in mp3
Для включения mp3 требуется загруженный mod_shout.
В документации аж 3 переменных, позволяющих задать формат:
https://wiki.freeswitch.org/wiki/Mod_voicemail#file-extension
https://wiki.freeswitch.org/wiki/Mod_voicemail#vm-message-ext
https://wiki.freeswitch.org/wiki/Mod_voicemail#vm_message_ext
Что куда писать? Можно предположить, но явно это в доке не прописано:
file-extension - param в mod_voicemail, раздел profile
vm-message-ext - param, выставляется в настройках юзера
vm_message_ext - variable, выставляется в originating строке или в диалплане, заменяет собой vm-message-ext.
В документации аж 3 переменных, позволяющих задать формат:
https://wiki.freeswitch.org/wiki/Mod_voicemail#file-extension
https://wiki.freeswitch.org/wiki/Mod_voicemail#vm-message-ext
https://wiki.freeswitch.org/wiki/Mod_voicemail#vm_message_ext
Что куда писать? Можно предположить, но явно это в доке не прописано:
file-extension - param в mod_voicemail, раздел profile
vm-message-ext - param, выставляется в настройках юзера
vm_message_ext - variable, выставляется в originating строке или в диалплане, заменяет собой vm-message-ext.
четверг, 24 декабря 2015 г.
Проверка качества звука в звонках
Есть готовые решения, типа
http://sevana.biz/
"Из коробки", но стоит денег.
PESQ, Perceptual Evaluation of Speech Quality, is a family of standards comprising a test methodology for automated assessment of the speech quality as experienced by a user of a telephony system. It is standardised as ITU-T recommendation P.862 (02/01). Today, PESQ is a worldwide applied industry standard for objective voice quality testing used by phone manufacturers, network equipment vendors and telecom operators. Its usage requires a license.
https://en.wikipedia.org/wiki/PESQ
Требует лицензии, но для тестов есть варианты на гитхабе. Помним, что лицензия всё-равно нужна. Пример
https://github.com/dennisguse/ITU-T_pesq
Также можно почитать
https://txlab.wordpress.com/2015/06/02/quality-assurance-for-voip-calls-2/
Если нужно просто оценинть пригодность каналов - можно взять 2 сервера с этим каналом посередине, заслать некий файл, захватывая rtp пакеты, и потом оценить, сколько потеряно, сколько побито. Метод совсем грубый и не подходит для анализа сервер-клиент, только если на сервере делать эхо, чтобы клиент мог проверить именно свой канал.
Более правильный метод - частотный анализ. Тот же PESQ или своя реализация. Тогда можно проверить уже поставщиков телефонии, даже с учётом перекодирований, E1 по пути и прочего, но это совсем другая сложность. Требуются исходный и конечный файлы.
Отдельно - звонок клиент-АТС-клиент, для частотного анализа тут просто нет 2 точек и если мало джиттера и потерь, снимаемых с rtp, начинается совсем магия, поиск характерных признаков - шипения, шумов, провалов...
Ну и остаётся субъективный анализ - звонок человеком.
Средняя экспертная оценка MOS (Mean Opinion Score) — это субъективное измерение, определенное в рекомендации P.800 МСЭ-Т для оценки качества передачи в телефонных сетях.
http://habrahabr.ru/post/177099/
ну и саму статью почитать стоит.
http://sevana.biz/
"Из коробки", но стоит денег.
PESQ, Perceptual Evaluation of Speech Quality, is a family of standards comprising a test methodology for automated assessment of the speech quality as experienced by a user of a telephony system. It is standardised as ITU-T recommendation P.862 (02/01). Today, PESQ is a worldwide applied industry standard for objective voice quality testing used by phone manufacturers, network equipment vendors and telecom operators. Its usage requires a license.
https://en.wikipedia.org/wiki/PESQ
Требует лицензии, но для тестов есть варианты на гитхабе. Помним, что лицензия всё-равно нужна. Пример
https://github.com/dennisguse/ITU-T_pesq
Также можно почитать
https://txlab.wordpress.com/2015/06/02/quality-assurance-for-voip-calls-2/
Если нужно просто оценинть пригодность каналов - можно взять 2 сервера с этим каналом посередине, заслать некий файл, захватывая rtp пакеты, и потом оценить, сколько потеряно, сколько побито. Метод совсем грубый и не подходит для анализа сервер-клиент, только если на сервере делать эхо, чтобы клиент мог проверить именно свой канал.
Более правильный метод - частотный анализ. Тот же PESQ или своя реализация. Тогда можно проверить уже поставщиков телефонии, даже с учётом перекодирований, E1 по пути и прочего, но это совсем другая сложность. Требуются исходный и конечный файлы.
Отдельно - звонок клиент-АТС-клиент, для частотного анализа тут просто нет 2 точек и если мало джиттера и потерь, снимаемых с rtp, начинается совсем магия, поиск характерных признаков - шипения, шумов, провалов...
Ну и остаётся субъективный анализ - звонок человеком.
Средняя экспертная оценка MOS (Mean Opinion Score) — это субъективное измерение, определенное в рекомендации P.800 МСЭ-Т для оценки качества передачи в телефонных сетях.
http://habrahabr.ru/post/177099/
ну и саму статью почитать стоит.
среда, 18 ноября 2015 г.
Fax for Asterisk (res_fax_digium) No Longer Supported in Asterisk 13 and Later
Fax for Asterisk (res_fax_digium) No Longer Supported in Asterisk 13 and Later
http://blogs.digium.com/2015/06/26/fax-asterisk-res_fax_digium-no-longer-supported-asterisk-13-later/
http://blogs.digium.com/2015/06/26/fax-asterisk-res_fax_digium-no-longer-supported-asterisk-13-later/
четверг, 5 ноября 2015 г.
проверяем и синхронизируем даты и время
После ntpdate pool.ntp.org обнаружили неприятную "особенность" - апи стало работать с новым временем, а FS - по прежнему использует старое. Впрочем, правится тоже несложно: из апи или консоли
fsctl sync_clock
fsctl sync_clock
или
fsctl sync_clock_when_idle
Для проверки можно использовать такой скрипт:
check-time.py
import freeswitch
import time
def fsapi(session, stream, env, args):
t = str(int(time.time()*1000))
print t
freeswitch.consoleLog('info', 'timestamp: %s\n' % t)
t = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
print t
freeswitch.consoleLog('info', 'sys date: \n%s\n' % t)
класть в скрипты, это может быть /etc/freeswitch/scripts или /usr/share/freeswitch/scripts
Теперь из fs_ctl вызываем:
freeswitch@192.168.10.202@internal> python check-time
и проверяем что даты перед и после sys date совпадают
При необходимости ставим и грузим mod_python
среда, 19 августа 2015 г.
freeswitch arrays
В доке сказано, что можно делать массив так:
Appending to an ARRAY with PUSH
<action application="push" data"myvar,test A"/>
<action application="push" data"myvar,test B"/>
<action application="push" data"myvar,test C"/>
По факту, формат такой
<action application="push" data"myvar=test A"/>
Получить потом можно так
<action application="log" data="INFO ${myvar}"/>
и выглядеть оно будет примерно так
ARRAY::test X|:test Y|:test Z|:test A|:test B|:test C
Можно указать конкретный элемент:
<action application="set" data="myvar[0]=Test A"/>
Appending to an ARRAY with PUSH
<action application="push" data"myvar,test A"/>
<action application="push" data"myvar,test B"/>
<action application="push" data"myvar,test C"/>
По факту, формат такой
<action application="push" data"myvar=test A"/>
Получить потом можно так
<action application="log" data="INFO ${myvar}"/>
и выглядеть оно будет примерно так
ARRAY::test X|:test Y|:test Z|:test A|:test B|:test C
<action application="set" data="myvar[0]=Test A"/>
Вариант добавления в начало, не проверялось, но скорее всего так:
<action application="unshift" data="myvar=test X"/>
(в офдоке снова через запятую, что вероятно неверно)
Есть через regex, тоже не проверялось
<action application="set" data="num=2121231234"/>
<action application="capture" data="myvar|${num}|(\d{3})(\d{3})(\d{4})"/>
Получать через
${myvar}, пример вывода выше
${myvar[2]}
Подписаться на:
Сообщения (Atom)