_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
exten=>505505/404404,1,Set(CALLERID(name)=SOOBSHENIE${CALLERID(name)})
exten=>505505/404404,2,Dial(SIP/101)
exten=>505505/303303,1,Set(CALLERID(name)=SOOBSHENIE 2${CALLERID(name)})
exten=>505505/303303,2,Dial(SIP/101)
Added after 17 minutes:
Firefox Click2Dial, не плохая вроде штучка, но как сделать так, что бы в зависимости от номер были разные сообщения пока не понятно.
| Код: |
| $sql="Select * from accounts where phone_fax='$phone' or phone_office='$phone' or phone_alternate='$phone'"; |
В настройке Click2Dial установить на клиенте режим всплытия окна типа http://192.168.0.180/crm/aster.php?who=499&num=#NUM#
где 499 - мой внутренний номер.
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
В меню выбора модулей для астера XXX chan_jingle. Внизу Depends on: iksemel(E), res_jabber(M)
Ставлю iksemel 1.4 по: http://habrahabr.ru/company/tisystems/blog/137357/
При ./configure --prefix=/usr --with-libgnutls-prefix=/usr --with-gnutls
Видим
| Код: |
| checking for libgnutls - version >= 0.1.0... ./configure: line 21324: /usr/bin/libgnutls-config: No such file or directory ./configure: line 21325: /usr/bin/libgnutls-config: No such file or directory ./configure: line 21326: /usr/bin/libgnutls-config: No such file or directory no *** Could not run libgnutls test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means LIBGNUTLS was incorrectly installed *** or that you have moved LIBGNUTLS since it was installed. In the latter case, you *** may want to edit the libgnutls-config script: /usr/bin/libgnutls-config configure: creating ./config.status config.status: creating Makefile config.status: creating iksemel.pc config.status: creating src/Makefile config.status: creating include/Makefile config.status: creating tools/Makefile config.status: creating test/Makefile config.status: creating doc/Makefile config.status: creating include/config.h config.status: include/config.h is unchanged config.status: executing depfiles commands configure: WARNING: Unrecognized options: --with-gnutls |
Как я понял нет libgnutls, ставлю из репозитария, но там libgnutls26 и вот тут загвоздка. Скачал с ftp://ftp.gnutls.org/gcrypt/gnutls/ версию 2.8, установил, предварительно установив libgcrypt 1.5.
При установке все вроде поставилось без ошибок.
А вот при попытке ./configure --prefix=/usr --with-libgnutls-prefix=/usr --with-gnutls то же самое сообщение:
| Код: |
| checking for libgnutls-config... no checking for libgnutls - version >= 0.1.0... no *** The libgnutls-config script installed by LIBGNUTLS could not be found *** If LIBGNUTLS was installed in PREFIX, make sure PREFIX/bin is in *** your path, or set the LIBGNUTLS_CONFIG environment variable to the *** full path to libgnutls-config. configure: creating ./config.status |
Где косяк?
А как вы поставили gnutls? С какими опциями собирали?
| Цитата: |
| chan_jingle вам не нужен. Вам нужен только res_jabber/res_xmpp. А как вы поставили gnutls? С какими опциями собирали? |
./configure
make
make install
А res_jabber тогда как прикручивать?
тогда он у вас в /usr/local встал. следловательно iksemel собирать с --withgnutls=/usr/local
| Код: |
| configure: WARNING: Unrecognized options: --with-gnutls |
Может я gnutls не так ставлю?
Во-вторых, я конечно же опечатался, правильно писать --with-libgnutls-prefix=/usr/local
Да и не прощели поставить iksemel из системных реп? Зачем мучаться со сборкой всех зависимостей самостоятельно?
Последний раз редактировалось: xelas (Пн Авг 19, 2013 07:31)
| Код: |
| configure: summary of build options: version: 2.8.6 shared 40:12:14 Host type: x86_64-unknown-linux-gnu Install prefix: /usr/local Compiler: gcc -std=gnu99 Warning flags: errors: warnings: Library types: Shared=yes, Static=yes Valgrind: no Guile wrappers: no C++ library: yes OpenSSL library: yes |
checking for libgnutls-config... no
Если устанавливать libgnutls, то там в пакетах нет libgnutls-config
Added after 2 minutes:
| Цитата: |
| Так что, --with-libgnutls-prefix=/usr/local не помогает? |
Нет.
Есть несколько *.с файлов по пути /usr/local/include/gnutls/, указывал и этот путь.
Всё одно:
| Код: |
| checking for getaddrinfo... yes checking for libgnutls-config... no checking for libgnutls - version >= 0.1.0... no *** The libgnutls-config script installed by LIBGNUTLS could not be found *** If LIBGNUTLS was installed in PREFIX, make sure PREFIX/bin is in *** your path, or set the LIBGNUTLS_CONFIG environment variable to the *** full path to libgnutls-config. configure: creating ./config.status config.status: creating Makefile config.status: creating iksemel.pc config.status: creating src/Makefile config.status: creating include/Makefile config.status: creating tools/Makefile config.status: creating test/Makefile config.status: creating doc/Makefile config.status: creating include/config.h config.status: include/config.h is unchanged config.status: executing depfiles commands configure: WARNING: Unrecognized options: --with-gnutls |
Added after 3 minutes:
Если следовать инструкции http://habrahabr.ru/company/tisystems/blog/137357/
то при выполнении ./configure --prefix=/usr --with-libgnutls-prefix=/usr --with-gnutls
получаем
| Код: |
| checking for libgnutls - version >= 0.1.0... ./configure: line 21324: /usr/bin/libgnutls-config: No such file or directory ./configure: line 21325: /usr/bin/libgnutls-config: No such file or directory ./configure: line 21326: /usr/bin/libgnutls-config: No such file or directory no *** Could not run libgnutls test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means LIBGNUTLS was incorrectly installed *** or that you have moved LIBGNUTLS since it was installed. In the latter case, you *** may want to edit the libgnutls-config script: /usr/bin/libgnutls-config |
во-вторых, указывать надо именно /usr/local, а не /usr/local/include.
в третьих, давайте сделаем ls -l /usr/local/bin/libgnutls-config
Added after 11 minutes:
Опять же, почему бы не поставить системный, а не самосборный iksemel?
Но если уж так хочется, а в системном gnutls нет libgnutls-config, то сделайте так:
create "/usr/bin/libgnutls-config" script like:
| Код: |
| #!/bin/bash if [ "$1" == "--version" ]; then pkg-config --modversion gnutls else pkg-config $1 gnutls fi |
Configure script searches for lifbgnutls-config, which is obsolete and does not present in modern distributions
https://code.google.com/p/iksemel/issues/detail?id=29
| Цитата: |
| Опять же, почему бы не поставить системный, а не самосборный iksemel? |
В стандартных репозитариях его нет.
Added after 46 minutes:
Танцы с бубном закончились,
PATH="$PATH:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
но Астер упорно не видит и не дает включить res_jabber и chan_jingle.
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
Еще вопрос: что бы при перескорке Астериска не грохнуть настройки нужно выполнить:
make
make install
а
make samples
make config
пропустить, или просто скопировать нужные файлы и вернуть обратно?
Спасибо.
Пытаюсь сделать по http://xgu.ru/wiki/Jabber после "Мы можем сделать более масштабное решение: например, мы хотим, чтобы при поступлении звонка на номер 2XX, в соответствующий джаббер отправлялось сообщение. Для этого будем использовать макрос и небольшой скрипт.", но не могу сообразить как правильно сделать: Например мне звонят на номер 555-555 и через Jabber должно выйти какое-то сообщение, но не о том кто звонит, а произвольный текст. Как правильно это написать в файле /etc/asterisk/jabbtable, как я понимаю скрипт в файле /usr/local/bin/jabblog
| Код: |
| #!/bin/sh JABBTABLE=/etc/asterisk/jabbtable jid="`grep "^$1 " $JABBTABLE | awk '{print $2}'`" [ -z "$jid" ] || echo ${CALLERID} is calling | sendxmpp -f /var/lib/asterisk/.sendxmpprc "$jid" |
ищет в /etc/asterisk/jabbtable по номеру пользователя Джаббера и выводит сообщение что такой-то номер звонил. А в моем случае будет текст и достаточно длинный, делать поиск по какому-то уникальному идентификатору?
Всё-таки мне эта строчка до конца не понятна jid="`grep "^$1 " $JABBTABLE | awk '{print $2}'`" (не силён)
Как можно переделать под мои задачи. Хотя-бы алгоритмом киньте.
Вообще суть задачи такова: 5 городских телефонных номера, по одному на каждый район города, т.е., например, в Ленинском районе провели рекламную акцию и указали что звоните на 555-555, в Октябрьском районе
указали что звонить надо на 444-444 и т.д. Я звоню на 555-555, там сидит оператор и "Астер выводит" ему именно нужное сообщение, указанное для номера 555-555. Если оператор занят, то астер переводит звонок уже
на второго оператора (у которого своя учетка в Джаббере) и ему тоже выводится это же самое сообщение. Естественно, оператору могут позвонить и с любого другого номера из 5 номеров, соответственно будет выведен другой текст.
Вот как-то так.
https://wiki.asterisk.org/wiki/display/AST/Jabber+in+Asterisk
Все остальные вопросы по этой теме -- сразу в раздел "Работа"
Создал самый простой скрипт:
| Код: |
| #!/bin/sh echo "Текст"|sendxmpp "Текст" admin@192.168.1.10/asterisk |
и сделал исполняемым. Если из командной строки запускать, то
сообщения уходят.
Диалплан
| Код: |
| [macro-jabblog] exten => _444,n,Set(ENV(CALLERID)=${CALLERID(all)}) exten => _444,n,System(/usr/local/bin/jabblog) exten => s,n,Dial(SIP/${ARG1}) и контекст внутренних звонков [phones] exten => _444,1,Macro(jabblog,${EXTEN}) |
Сообщения не уходят и в CLI
| Код: |
| WARNING[15822][C-0000019f]: app_macro.c:311 _macro_exec: Context 'macro-jabblog' for macro 'jabblog' lacks 's' extension, priority 1 |
Что не так то?