AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

XMPP и уведомления о пропущенных вызовах

Newbies/FAQ Forum 16 сообщений -
#1

Прошу прощения что надоедаю глупыми вопросами,
Но
1. Попытался прикрутить Openfire к Elastix, всё хорошо до момента Phone mappings. В Spark не стартует телефон, а в Phone mappings появляется надпись RegistrationFailed. При том если из веб морды сделать test то он проходит, но в spark регистрация SIP не проходит.
2. Правил XMPP.conf. Пользователь подцепился и висит с статусом, но как отправлять события от этого пользователя не понятно, понятно что нужно внести что то типа
exten => busy,n, jabbersend(asterisk|${called_jid}|Пропущенный звонок от ${caller_num} (${caller_name}) по причине: АБОНЕНТ ЗАНЯТ ${called_num} (${called_name}).)
в dialplan, но куда конкретно?
Или может в меня кто то кинет ссылкой, как это реализовано хоть где-то. Спрашиваю по причине того, что Spark похоже проект мёртвый, а других клиентов которые бы поддерживали в идеале сразу джаббер и сип я не нашёл, точнее нашёл, но не нашёл как реализовать звонок из этого клиента сразу, поэтому хочется хоть получить уведомления о входящих и пропущенных вызовах на клиентские машины, чтобы был лог того что происходило, да и голосовую почту прикрутить в плане уведомлений было бы здорово.
#3

ну как бы лечге не стало, куда вносить то?
описания макросов в инете навалом, ровно как и решений и внедряются они в extensions, только вот в основной или в кастом? и в какой момент это будет отправляться в джаббер, и каким макросом это обрабатывать?
ПЫСЫ Астериск 11, описания для 1,8, идентичны ли они?
#4

По ссылке даны примеры как обрабатывать DIALSTATUS. Прочтите внимательнее. Подумайте.Прочтите про приложение плана набора Dial(core show application Dial).
В примерах прекрасно видно как обрабатываются ситуации "абонент занят", "абонент не ответил". Видно,
где для этого есть "место". И на мой взгляд по ссылке полный ответ на ваш вопрос.

И абсолютно не важно, макрос это будет или кусок плана набора.
#5

Дорогие друзья, я понимаю что для вас это просто и одной ссылкой всё решается,я же написал в ветку новичков, для меня не ясна отработка команд отправки по xmpp, и смовсем непонятно почему я не могу протестировать это из консоли использовав эту команду, мне получается чтобы проверить работоспособность алгоритма надо создать полностью ситуацию? или всё же можно потестировать как минимум отправку от имени джаббер юзверя из консоли?
мне не ясно где отрабатывается диалплан.
Я понимаю что мой вопрос крайне глуп для тех кто это делал десятки раз, но мне бы почитать всё таки процесс реализации чего то подобного от начал и до конца, причём безразлично на каком языке, акромя китайского и японского.

Я просто могу легко объяснить как выглядит ваш ответ

Человек спрашивает почему я не могу изменить список доверенных сайтов и типы и алгоритмы авторизации?
А ему отвечают, основы AD, плюс GP, плюс сценарии отработки.
Да по этому ответу проблему решить можно, но в лучшем случае в течении недели.

Можно немного больше конкретики всё же, для начала понять нужен ли вообще openfire, или более легковесного ejabberd будет достаточно?
как отрабатывает xmpp модуль, где это можно посмотреть, мне в корне не понятна например функция autoregister,что такое в понятии создателей buddy list, это группа в которой находится юзверь джаббера, или это доступные ему группы контактов?
buddy=mogorman@astjab.org ; Manual addition of buddy to list. ; For distributed events, these buddies are ; automatically added in the whitelist as ; 'owners' of the node(s).
Куда мы тут добавляемся, в этот мифический лист, а что это?
следуя банальной логике вот эта опция по умолчанию должна быть включена
;distribute_events=yes ; Whether or not to distribute events using ; this connection. Default is 'no'.
Но она по умолчанию выключена, или что такое события в понятии создателей астериска?
sendtodialplan=yes
Это тоже обязательно для отработки?
ни одной вменяемой статьи я не нашёл по интеграции с джаббером, везде одни грабли по факту, кто то использует sendtodialplan=yes, а кто то не упоминает об этом, хотя следуя логике эта опция должна быть прописана.
Можно немного конкретики господа?
#6

ждем deda ?

ЗЫ хочется немного конкретики как получить нобелевскую премию - типа смешать вот это, нагреть тут, процедить, обработать лазером.
А вы противные начали - подучи химию пять лет, потом физику еще пару лет, потом побудь лаборантом еще пару лет - потом в помощниках у профессора еще пять лет - а потом непонятно - будет ли результат = нобелевка.

_________________
платный суппорт по мере возможностей
#7

buddy list -- список контактов.
buddy=mogorman@astjab.org означает что данный контакт будет добавлен в контакт-лист пользователя

distribute_events=yes используется в случае если нужно передавать состояния пиров на два и более астериск-сервера.

Ответы на все ваши вопросы можно найти в документации. Мы же здесь пытаемся помочь решить проблемы, а не зачитываем в слух документацию.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Configuration_res_xmpp

Для отправки сообщений из ДП используйте функцию https://wiki.asterisk.org/wiki/display/AST/Application_JabberSend
Куда ее поставить должно быть понятно из той ссылки про DIALSTATUS которую я дал раньше.

А вам совет: не ленитесь, изучайте, и не ждите, что вам все разжуют и в рот положат.
#8

awsswa @ Вт Мар 17, 2015 06:50 писал(а):
ждем deda ?

ЗЫ хочется немного конкретики как получить нобелевскую премию - типа смешать вот это, нагреть тут, процедить, обработать лазером.
А вы противные начали - подучи химию пять лет, потом физику еще пару лет, потом побудь лаборантом еще пару лет - потом в помощниках у профессора еще пять лет - а потом непонятно - будет ли результат = нобелевка.


Очень помогло в решении, спасибо.


xelas @ Вт Мар 17, 2015 08:48 писал(а):
buddy list -- список контактов.
buddy=mogorman@astjab.org означает что данный контакт будет добавлен в контакт-лист пользователя

distribute_events=yes используется в случае если нужно передавать состояния пиров на два и более астериск-сервера.

Ответы на все ваши вопросы можно найти в документации. Мы же здесь пытаемся помочь решить проблемы, а не зачитываем в слух документацию.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Configuration_res_xmpp

Для отправки сообщений из ДП используйте функцию https://wiki.asterisk.org/wiki/display/AST/Application_JabberSend
Куда ее поставить должно быть понятно из той ссылки про DIALSTATUS которую я дал раньше.

А вам совет: не ленитесь, изучайте, и не ждите, что вам все разжуют и в рот положат.



Эту доку видел, вопрос подходит ли описание 13 для 11 версии, потому как насколько я понял, 13 в активной разработке

Почему не работает jabberSend из консоли? Это норма? или просто я чего то не понимаю?

P.S. Есть ли смысл в openfire исходя из опыта, или если исключить прозрачную авторизацию юзверей то смысла в таком решении нет?
#9

JabberSend -- это приложение плана набора. А не приложение консоли.

Астериск 11 и Астериск 13 -- обычные, нормальные версии. Выражаясь вашим языком, 11-ая версия так же в "активной разработке".
И 11 и 13 версия -- это версии LTS.
Более подробно о версиях тут: http://www.asterisk.org/downloads/asteri ... k-versions и тут https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions

Что касается res_xmpp то в 11 и в 13 ой версии -- они близнецы-братья.
#10

xelas @ Вт Мар 17, 2015 10:35 писал(а):
JabberSend -- это приложение плана набора. А не приложение консоли.

Астериск 11 и Астериск 13 -- обычные, нормальные версии. Выражаясь вашим языком, 11-ая версия так же в "активной разработке".
И 11 и 13 версия -- это версии LTS.
Более подробно о версиях тут: http://www.asterisk.org/downloads/asteri ... k-versions и тут https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions

Что касается res_xmpp то в 11 и в 13 ой версии -- они близнецы-братья.


Всё прочитал, осознал, о пропущенных сделал, буду смотреть входящие, но не суть, но не могу понять про список контактов, у юзверя он шаренный с сервера, зачем его выделять, но тоже не суть
получается 11 и 13 это тестовые версии, как то пропустил данную инфу, а стабильный релиз это 12?
#11

LTS - это как раз таки ДЛИТЕЛЬНАЯ поддержка.
И 11 и 13 - это не ТЕСТОВЫЕ, а "живые", которые постоянно совершенствуются, но и сейчас прекрасно работают.

_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#12

Нет, это не тестовые версии. LTS -- long term support. Перевести?
12 версия -- это стандартный релиз. По ссылке https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions указаны сроки поддержки релизов.
Условно, "тестовыми" можно назвать только релизы -RC(release candidat).
#13

Ну для меня лично stable статус который стоит под 12 версией показатель того, что это именно релиз. Всё остальное это RC, хотя тут похоже наоборот.
В результате ковыряний всё приходит отлично, только тогда один вопрос, зачем нужен openfire с его плагинами под астериск? Я не понимаю их скрытый смысл?, просто удобно иметь логи входящих исходящих звонков, именно логи, только для статуса получается?, так и статус юзверя можно отправлять. Или это появилось относительно недавно?
#14

Прошу прощения господа, понимаю что вопрос странный, и к астериску как к таковому не имеет отношения
Ковыряю Elastix, там файл extensions_additional.conf генерится автоматически на основании extensions_override_elastix.conf, возвращаясь к началу темы, с обычным астериском всё ясно, указал или в extensions_additional.conf дополнительное правило (или в план засунул, в зависимости от того что нужно), если всем не нужно получать уведомления о пропущенных и так далее, и живёш спокойно, ну или группами или не важно как. С Эластиксом же не всё так просто.
Так вот вопрос внутри extensions_additional.conf есть только правила [macro-hangupcall] и [macro-record-enable], где находятся остальные правила на основании которых генерится [ext-local] и так далее?
Может кто пользуется, расскажите плиз.
#16

xelas @ Пт Мар 20, 2015 13:17 писал(а):
Поищите тут http://asteriskforum.ru/viewforum.php?f=12

Искал
нашёл http://asteriskforum.ru/viewtopic.php?t=10101 - но тут человек так и не добился чего хотел, а именно добавить свой алгоритм, а после получить выполнение стандартного
и вот http://asteriskforum.ru/viewtopic.php?t=11616 - но тут тупо добавил в кастом, тоже как то не оно.

Вот поэтому и задал вопрос.

Так всё нашёл, не знаю почему у людей не получилось, в копилку опыта

Идём в extensions.conf и видим там
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make ;
; custom modifications, details at: http://freepbx.org/configuration_files ;
;--------------------------------------------------------------------------------;

;*******************************************************************************
; AUTO-GENERATED AND CUSOTM USER DIALPLAN INCLUDED HERE *
;*******************************************************************************

то есть у нас есть два варианта

1. в случае использования freepx/elastix пользовать extensions_override_freepbx.conf/extensions_override_elastix.conf
2. пользовать extensions_custom.conf

В обоих случаях extensions.conf открываем и смотрим по какому алгоритму генерируется конфиг из веб морды, если изменений много, то под наименованием этого фрагмента заносим его в extensions_custom.conf и пишем полностью что нам нужно. Если изменения или дополнения не значительны, то под наименованием нужного нам контекста просто добавляем в extensions_custom.conf свои хотелки
Я для тестов чтобы отправлять и иметь лог всех входящих вызовов добавил в контекст from-trunk вот такую строку

exten => _1XXX,1, jabbersend(asterisk,${EXTEN}@asterisk.rueusew, Звонок от ${CALLERID(all)} в ${STRFTIME(${EPOCH},,%H:%M %d-%m-%Y)})

то есть extensions_custom.conf приобрёл ещё одни контекст вида

[from-pstn-custom]
exten => _1XXX,1, jabbersend(asterisk,${EXTEN}@asterisk.rueusew, Звонок от ${CALLERID(all)} в ${STRFTIME(${EPOCH},,%H:%M %d-%m-%Y)})

почему [from-pstn-custom]

потому что

; Context is really just an aliax of from-pstn
;
[from-trunk]
include => from-pstn
;-------------------------------------------------------------------------------

;-------------------------------------------------------------------------------
; from-pstn:
;
; Entry context for calls from the outside world to hit FreePBX
[from-pstn]
include => from-pstn-custom ; create this context in extensions_custom.conf to include customizations
include => ext-did
include => ext-did-post-custom
include => from-did-direct
include => ext-did-catchall ; THIS MUST COME AFTER ext-did

сответственно получилось именно так, как я буду обрабатывать события далее писать не буду, ибо там вопрос что кому нужно, но если у кого есть вопрос по веб мордам и автогенерации конфигов, то наверно это кому то поможет.

P.S. не понял в чём у человека проблема http://asteriskforum.ru/viewtopic.php?t=10101
Цитата:
Сделал временно [ext-fax] в extensions_override_freepbx.conf в котором прописал все как нужно. Но мне это не нравится. А вот как сделать, чтобы подхватился [ext-fax-custom] из extensions_custom.conf, отработал свою часть и потом пошла бы работать процедура, предложенная разработчиками freePBX - не понимаю. Наведите на мысль... Как это сделать правильно?


там порядок отработки процедуры описан, на примере [from-trunk]

вот очередь для отработки
include => from-pstn-custom ; create this context in extensions_custom.conf to include customizations
include => ext-did
include => ext-did-post-custom
include => from-did-direct
include => ext-did-catchall ; THIS MUST COME AFTER ext-did

то есть контекст -custom это как раз то что можно и нужно добавлять судя по описанию.