mod_curl vs mod_xml_rpc

245 views
Skip to first unread message

nobody nowhere

unread,
May 6, 2014, 4:56:55 AM5/6/14
to freesw...@googlegroups.com
Добрый день.

Есть 2 модуля, mod_curl и mod_xml_rpc, когда что лучше выбирать?
В частности, для единой конфигурации на несколько FS. Цель - изменение конфигурации на лету, чтобы не надо было перезапускать FS при изменении конфигурации через тот же веб-интерфейс или прочий АПИ.

ros tel

unread,
May 6, 2014, 5:28:41 AM5/6/14
to freesw...@googlegroups.com
не то с тем сравниваете
mod_curl для заполнения статического диалплана динамическими данными в нужных
mod_xml_rpc больше для передачи команд извне (замена локальной консоли)

mod_xml_curl для динамического конфигурирования практически всей логики от профилей юзеров и шлюзов до диалплана

nobody nowhere

unread,
May 6, 2014, 6:34:24 AM5/6/14
to freesw...@googlegroups.com
Спасибо за ответ )
То есть для чисто динамического FS без локальных конфигов лучше mod_xml_curl,
 а если нужно чуть уменьшить нагрузку, то curl для диалпланов, xml_curl для прочего, и при изменении статической части диалплана xml_rpc для релоада конфига?

вторник, 6 мая 2014 г., 13:28:41 UTC+4 пользователь ros tel написал:

ros tel

unread,
May 6, 2014, 7:15:47 AM5/6/14
to freesw...@googlegroups.com
в общих чертах так

nobody nowhere

unread,
May 6, 2014, 9:03:23 AM5/6/14
to freesw...@googlegroups.com
А если изменили статус телефона через *99 например, то есть всякие DND, FWD + действия по определенному набору, как тогда менять глобальный конфиг, есть штатные методы или писать скрипты, которые будут дёргать conf-сервер?

ros tel

unread,
May 7, 2014, 12:11:42 AM5/7/14
to freesw...@googlegroups.com
mod_xml_curl дергает запрос при каждом входе в диалплан например

через mod_xml_rpc можно выставить переменную в локальной БД и использовать её

ещё круче вариант (никакое внешнее воздействие не требуется и бешеное быстродействие на событие):
устанавливаете на все ноды couchbase/couchdb.
настраиваете репликацию.
через mod_curl выставляете нужные ключи по *99 они перетекут моментом на все ноды.
и читаете их через тот же mod_curl уже на любой ноде.

nobody nowhere

unread,
May 7, 2014, 3:09:27 AM5/7/14
to freesw...@googlegroups.com
А что насчет RabbitMQ? Куда он вообще имеет смысл?
Ну и в частности насколько он проще/сложнее в подключении чем couch*? Главный программист его хотел куда-нибудь приткнуть, но я пока не вижу ему применения ) Хотя в схеме тех же 2600hz есть AMQP

среда, 7 мая 2014 г., 8:11:42 UTC+4 пользователь ros tel написал:

ros tel

unread,
May 7, 2014, 4:01:59 AM5/7/14
to freesw...@googlegroups.com
применить можно что угодно.
вопрос только в целесообразности.
пусть главный программист и скажет куда он хотел RabbitMQ "приткнуть" и для чего.
лично я его пока не щупал за ненадобность.

nobody nowhere

unread,
May 30, 2014, 8:25:23 AM5/30/14
to freesw...@googlegroups.com
Еще такой вопрос, а если мы используем mod_fifo/mod_callcenter, у них вроде как нет возможности хранить агентов в нормальной (не файловой) базе, и curl_xml тут вроде не особо поможет. Плюс нет хранения позиции в очереди. Как быть в этом случае?

среда, 7 мая 2014 г., 12:01:59 UTC+4 пользователь ros tel написал:

nobody nowhere

unread,
May 30, 2014, 11:48:16 AM5/30/14
to freesw...@googlegroups.com
И такой еще вопрос: есть например mod_fifo или mod_callcenter, нам надо иметь возможность сохранять активных агентов, тиры и прочее где-то отдельно, с возможностью переноса этой информации на другую ноду, в т.ч. при полном отказе текущей.  И хороший вариант что-то типа xml-curl, но модули так похоже не умеют. Только через xml-rpc?

Виталий Ещук

unread,
May 31, 2014, 2:24:42 PM5/31/14
to freeswitch-ru
curl_xml умеет отдавать конфигурацию колл-центр. так же умеет хранить через odbc(но вроде как при curl_xml это и не нужно). работать онлайн с queues-tiers-agents можно через xml-rpc 


30 мая 2014 г., 16:25 пользователь nobody nowhere <dragon...@gmail.com> написал:

--
Вы получили это сообщение, поскольку подписаны на группу "freeswitch-ru".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес freeswitch-r...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес freesw...@googlegroups.com.
Чтобы зайти в группу, перейдите по ссылке http://groups.google.com/group/freeswitch-ru.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.



--

С уважением
Ещук Виталий

nobody nowhere

unread,
Jun 6, 2014, 10:15:55 AM6/6/14
to freesw...@googlegroups.com
А как лучше с камаилио интегрироваться? Регистрации на камаильи, на фрисвиче простейший диалплан - сделать bridge на второй номер, стыкуя 2 потока. Плюс конференции, голос почта, ivr, факсы. Вопрос в том, какие базы взять. Если couhdb/bigcouch (как у 2600hz), то камаилья такого не умеет. Если кассандру - тут уже FS не умеет. Была идея передавать нужные данные в сип заголовках, но пока дальше "вот если бы" не пошло.
Сейчас ковыряю kazoo, но там очень много непонятного + ряд вещей все-равно нам не подходит, например веб часть другая будет, биллинг сторонний есть..
Также непонятно с такими вещами как агенты очередей, их статус, очереди.. то, что можно дергать через rpc, но надо иметь возможность перекинуть всё с отказавшей ноды, подхватив на живой. По идее, все такие изменения можно пихать в AMPQ, и локально применять через rpc. Проблема с отвалом фрисвича или зависанием, когда надо его наполнить - тут уже не факт, что накатив даже сотню AMQP сообщений, система будет идентична другим нодам. То есть правильнее хранить полный конфиг в базе и его отдавать? Слишком много трафа, нужен дифф. То есть AMPQ+база? Где та грань, когда надо скинуть очередь кролика и влить конфиг тех же агентов из базы? простой xml_curl для таких данных не работает.

активные конференции - как их тогда перекидывать.

В общем, много вопросов.. 

nobody nowhere

unread,
Jun 25, 2014, 4:59:10 AM6/25/14
to freesw...@googlegroups.com

ещё круче вариант (никакое внешнее воздействие не требуется и бешеное быстродействие на событие):
устанавливаете на все ноды couchbase/couchdb.
настраиваете репликацию.
через mod_curl выставляете нужные ключи по *99 они перетекут моментом на все ноды.
и читаете их через тот же mod_curl уже на любой ноде.
А как работать с каучем, писать веб-серверу скрипты? Несколько дней пытался линковать bigcouch и mod_xml_curl, напрямую они вообще никак не общаются, синтаксис разный ( Пока вариант с качами-базами основной.

ros tel

unread,
Jun 25, 2014, 7:07:05 AM6/25/14
to freesw...@googlegroups.com
через скрипты проще
можете модуль свой написать, если есть желание

среда, 25 июня 2014 г., 14:59:10 UTC+6 пользователь nobody nowhere написал:
Reply all
Reply to author
Forward
0 new messages