asterisk на удаленном хосте

Модуль для организации IP-телефонии
Ответить
yava88
Сообщения: 2
Зарегистрирован: Вт авг 06, 2013 3:49 am

asterisk на удаленном хосте

Сообщение yava88 »

Приветствую!

Есть Abills, есть Asterisk на отдельной машине. Что необходимо указать в extensions.conf?

Код: Выделить всё

exten => _X.,1,AGI(/usr/abills/Abills/modules/Voip/agi_rad.pl)
на Астериске то нет Abills'а. И agi_rad.pl - непохоже что работает независимо.

И еще вопрос
Заметил что после внесения изменений о клиенте переписывается

Код: Выделить всё

/usr/abills/Abills/templates/user.conf
, но изменения в abills_sip.conf (удаленной машины) не копируются автоматически. Как быть?

UPD. AGI работает по stdin/stdout. Для работы по сети используют FastAGI http://www.packtpub.com/article/primer- ... -interface. Неужели Abills не поддерживает удаленные астериски... Не понимаю.

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: asterisk на удаленном хосте

Сообщение ~AsmodeuS~ »

устанавливаете на удалённом сервере абилс и соеденяете его с базой главного сервера

тут все процедуры описаны
http://abills.net.ua/wiki/doku.php/abil ... om_servere

underwoodoff
Сообщения: 17
Зарегистрирован: Пт авг 02, 2013 8:08 am

Re: asterisk на удаленном хосте

Сообщение underwoodoff »

~AsmodeuS~ писал(а): соеденяете его с базой главного сервера
что имеется в виду под базой ? mySQL?

underwoodoff
Сообщения: 17
Зарегистрирован: Пт авг 02, 2013 8:08 am

Re: asterisk на удаленном хосте

Сообщение underwoodoff »

нужно ли ставить asterisk на сервер биллинга, если у нас удаленный NAS сервер?

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: asterisk на удаленном хосте

Сообщение ~AsmodeuS~ »

нет не нужно, инструкция полностью. по шагах описана что нужно сделать

underwoodoff
Сообщения: 17
Зарегистрирован: Пт авг 02, 2013 8:08 am

Re: asterisk на удаленном хосте

Сообщение underwoodoff »

~AsmodeuS~ писал(а):нет не нужно, инструкция полностью. по шагах описана что нужно сделать
Благодарю, билинг работает!

Но осталась одна неясность:
в config.pl для удаленного NAS вносим стороку
$conf{VOIP_ASTERISK_RESTART}='HOST=10.255.253.151; USER=abills_admin; /usr/bin/scp -i /usr/abills/Certs/id_dsa.${USER} -o StrictHostKeyChecking=no -q /usr/abills/Abills/templates/users.conf ${USER}@${HOST}:/etc/asterisk/abills_sip.conf; /usr/bin/ssh -i /usr/abills/Certs/id_dsa.${USER} -o StrictHostKeyChecking=no ${USER}@${HOST} "/usr/bin/sudo /usr/sbin/asterisk -rx \"sip reload\""';

перезагрузки sip и перезаписи юзеров не происходит, не понятно кто вызывает эту команду и когда.

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: asterisk на удаленном хосте

Сообщение ~AsmodeuS~ »

при изменении данных абонента с веб интерфейса вызывается эта команда на сервере биллинга

ddffcczz
Сообщения: 2
Зарегистрирован: Пт фев 28, 2014 7:46 pm

Re: asterisk на удаленном хосте

Сообщение ddffcczz »

~AsmodeuS~ писал(а):при изменении данных абонента с веб интерфейса вызывается эта команда на сервере биллинга
Asterisk на удаленном сервере, база подключена.. всё как надо. Freeradius тоже на удаленном сервере, правда на другом.
Звонки ходят между собой, но в биллинг аккаунтинг не идет.
В vo-ip отчет ошибки совсем пусто..

Запустил в дебаге астериск и радиус
До радиуса совсем не стучится, при звонках с номера на номер:

-- Registered SIP '100' at 192.168.0.149:5060
== Using SIP RTP CoS mark 5
-- Executing [101@default:1] Dial("SIP/100-00000000", "SIP/101&IAX2/101") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/101
[Mar 1 02:56:43] WARNING[21447]: app_dial.c:2274 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Unknown)
-- SIP/101-00000001 is ringing
-- SIP/101-00000001 answered SIP/100-00000000
-- Locally bridging SIP/100-00000000 and SIP/101-00000001
== Spawn extension (default, 101, 1) exited non-zero on 'SIP/100-00000000'
== Using SIP RTP CoS mark 5
-- Executing [100@default:1] Dial("SIP/101-00000002", "SIP/100&IAX2/100") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/100
[Mar 1 02:57:00] WARNING[21448]: app_dial.c:2274 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Unknown)
-- SIP/100-00000003 is ringing
-- SIP/100-00000003 answered SIP/101-00000002
-- Locally bridging SIP/101-00000002 and SIP/100-00000003
== Spawn extension (default, 100, 1) exited non-zero on 'SIP/101-00000002'


Откуда он IAX2 взял - мне не понятно.. и не понимаю почему у радиуса разрешения не спрашивает..
И пару раз выдавал вот такое дело:

Can't locate Asterisk/AGI.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /usr/abills/Abills/modules/Voip/agi_rad.pl line 40.
BEGIN failed--compilation aborted at /usr/abills/Abills/modules/Voip/agi_rad.pl line 40.


Я перезапустил asterisk и перестал писать.


Вот конф на сервере астериска:
%ACCT = ();
#For VoIP GNU Gatekeeper accounting
$ACCT{asterisk} = 'Voip_aaa';

%AUTH = ();
#For VoIP GNU Gatekeeper Auth
$AUTH{asterisk} = 'Voip_aaa';

$conf{VOIP_RADIUS_SERVER_HOST}='192.168.0.5';
$conf{VOIP_RADIUS_SERVER_SECRET}='asterisk123';
$conf{VOIP_NAS_IP_ADDRESS}='192.168.0.6';
$conf{VOIP_NAS_ID}='';
$conf{VOIP_NAS_PORT}='0';
$conf{VOIP_AGI_PROTOCOL}='SIP';
$conf{VOIP_DEFAULTDIALTIMEOUT}=120;
$conf{VOIP_MAX_SESSION_TIME}=10800;
$conf{VOIP_ASTERISK_RESTART}='/usr/bin/sudo /usr/sbin/asterisk -rx «reload sip»';
$conf{'VOIP_ASTERISK_IVR_DIR'}='/usr/local/share/asterisk/sounds/';
$conf{'VOIP_AGI_DIAL_DELIMITER'}=',';


А это на главном сервере:

$ACCT{asterisk} = 'Voip_aaa';

%AUTH = ();
#For VoIP GNU Gatekeeper Auth
$AUTH{asterisk} = 'Voip_aaa';

$conf{VOIP_ASTERISK_USERS}='/usr/abills/Abills/templates/users.conf';
$conf{VOIP_ASTERISK_RESTART}='HOST=192.168.0.6; USER=abills_admin; /usr/bin/scp -i /usr/abills/Certs/id_dsa.${USER} -o StrictHostKeyChecking=no -q /usr/abills/Abills/templates/users.conf ${USER}@${HOST}:/etc/asterisk/abills_sip.conf; /usr/bin/ssh -i /usr/abills/Certs/id_dsa.${USER} -o StrictHostKeyChecking=no ${USER}@${HOST} "/usr/bin/sudo /usr/sbin/asterisk -rx \"sip reload\""';

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: asterisk на удаленном хосте

Сообщение ~AsmodeuS~ »

не установлен Asterisk/AGI.pm на астериск сервере

ddffcczz
Сообщения: 2
Зарегистрирован: Пт фев 28, 2014 7:46 pm

Re: asterisk на удаленном хосте

Сообщение ddffcczz »

~AsmodeuS~ писал(а):не установлен Asterisk/AGI.pm на астериск сервере
Установил libasterisk-agi-perl и вроде всё начало вязаться..
При изменении в abills лог на asterisk:
-- Remote UNIX connection
Reloading SIP
== Parsing '/etc/asterisk/users.conf': == Found
== Parsing '/etc/asterisk/sip.conf': == Found
[Mar 6 15:47:31] WARNING[3984]: chan_sip.c:28645 reload_config: No valid transports available, falling back to 'udp'.
== Using SIP CoS mark 4
== Parsing '/etc/asterisk/sip_notify.conf': == Found
-- Remote UNIX connection disconnected


При попытке звонка например на 88003333350
Вот что говорит asterisk:
== Using SIP RTP CoS mark 5
-- Executing [88003333350@default:1] AGI("SIP/22022-00000000", "/usr/abills/Abills/modules/Voip/agi_rad.pl") in new stack
-- Launched AGI Script /usr/abills/Abills/modules/Voip/agi_rad.pl
/usr/abills/Abills/modules/Voip/agi_rad.pl: RAD Pairs:
/usr/abills/Abills/modules/Voip/agi_rad.pl: Reply-Message = Login Not Exist or Expire
-- /usr/abills/Abills/modules/Voip/agi_rad.pl: USER: 22022 Call reject Reply-Message: Login Not Exist or Expire
-- <SIP/22022-00000000>AGI Script /usr/abills/Abills/modules/Voip/agi_rad.pl completed, returning 4
== Spawn extension (default, 88003333350, 1) exited non-zero on 'SIP/22022-00000000'


freeradius соответственно то же самое:
rad_recv: Access-Request packet from host 192.168.0.7 port 49277, id=162, length=222
Cisco-Call-Type = "VoIP"
Service-Type = Login-User
Cisco-NAS-Port = "SIP/22022-00000000"
Called-Station-Id = "88003333350"
Calling-Station-Id = "22022"
Cisco-AVPair = "call-codec=;session-protocol=other"
h323-call-origin = "originate"
User-Name = "22022"
Framed-IP-Address = 192.168.0.122
h323-conf-id = "MTc5NWM3ZTk5YWNhMWM2MTQ3NWJmOGY1Njg4MTVhZGI."
NAS-Port = 0
NAS-IP-Address = 192.168.0.7
# Executing section authorize from file /usr/local/etc/raddb/sites-enabled/abills_default
+- entering group authorize {...}
++[preprocess] returns ok
++[mschap] returns noop
[files] users: Matched entry DEFAULT at line 38
++[files] returns ok
Auth-Type := Accept
rlm_perl: Added pair Cisco-Call-Type = VoIP
rlm_perl: Added pair Service-Type = Login-User
rlm_perl: Added pair Calling-Station-Id = 22022
rlm_perl: Added pair Called-Station-Id = 88003333350
rlm_perl: Added pair Cisco-NAS-Port = SIP/22022-00000000
rlm_perl: Added pair Cisco-AVPair = call-codec=;session-protocol=other
rlm_perl: Added pair h323-call-origin = originate
rlm_perl: Added pair User-Name = 22022
rlm_perl: Added pair Framed-IP-Address = 192.168.0.122
rlm_perl: Added pair NAS-IP-Address = 192.168.0.7
rlm_perl: Added pair NAS-Port = 0
rlm_perl: Added pair h323-conf-id = MTc5NWM3ZTk5YWNhMWM2MTQ3NWJmOGY1Njg4MTVhZGI.
rlm_perl: Added pair Reply-Message = Login Not Exist or Expire
rlm_perl: Added pair Auth-Type = Reject
++[perl] returns reject
Using Post-Auth-Type REJECT
# Executing group from file /usr/local/etc/raddb/sites-enabled/abills_default
+- entering group REJECT {...}
rlm_perl: Added pair Cisco-Call-Type = VoIP
rlm_perl: Added pair Service-Type = Login-User
rlm_perl: Added pair Cisco-NAS-Port = SIP/22022-00000000
rlm_perl: Added pair Called-Station-Id = 88003333350
rlm_perl: Added pair Calling-Station-Id = 22022
rlm_perl: Added pair Cisco-AVPair = call-codec=;session-protocol=other
rlm_perl: Added pair h323-call-origin = originate
rlm_perl: Added pair User-Name = 22022
rlm_perl: Added pair Framed-IP-Address = 192.168.0.122
rlm_perl: Added pair h323-conf-id = MTc5NWM3ZTk5YWNhMWM2MTQ3NWJmOGY1Njg4MTVhZGI.
rlm_perl: Added pair NAS-Port = 0
rlm_perl: Added pair NAS-IP-Address = 192.168.0.7
rlm_perl: Added pair Reply-Message = Login Not Exist or Expire
rlm_perl: Added pair Auth-Type = Reject
rlm_perl: Added pair Post-Auth-Type = REJECT
++[perl] returns ok
Delaying reject of request 1 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 1
Sending Access-Reject of id 162 to 192.168.0.7 port 49277
Reply-Message = "Login Not Exist or Expire"
Waking up in 4.9 seconds.
Cleaning up request 1 ID 162 with timestamp +346

И в отчете vo-ip в ошибках появляется лог:
2014-03-06 15:49:53 LOG_WARNING AUTH 22022 Login Not Exist or Expire CID: 22022 vo-ip

Но номер у меня присвоен к абоненту и существует..

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: asterisk на удаленном хосте

Сообщение Makioro »

С 2014 года ничего не поменялось? Всё ещё надо устанавливать абиллс на сервере астериска чтоб работали всплывающие окошки со звонками у операторов?

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: asterisk на удаленном хосте

Сообщение ~AsmodeuS~ »

Makioro писал(а):С 2014 года ничего не поменялось? Всё ещё надо устанавливать абиллс на сервере астериска чтоб работали всплывающие окошки со звонками у операторов?
уже очень давно все идет через AMI

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: asterisk на удаленном хосте

Сообщение Makioro »

Хорошая новость
Нашел в вики описание
Осталось несколько вопросов
1) Окошко всплывает только у оператора, кому поступает звонок, или у всех?
2) Если только у конкретного оператора, то корректно ли реализована работа очередей? Звонок же вначале туда попадает, а потом уже свободному оператору передаётся в зависимости от настроек очереди
3) Есть ли возможность указать несколько номеров оператору?

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: asterisk на удаленном хосте

Сообщение ~AsmodeuS~ »

Makioro писал(а):Хорошая новость
Нашел в вики описание
Осталось несколько вопросов
1) Окошко всплывает только у оператора, кому поступает звонок, или у всех?
только у оператора с номером
Makioro писал(а):Хорошая новость
2) Если только у конкретного оператора, то корректно ли реализована работа очередей? Звонок же вначале туда попадает, а потом уже свободному оператору передаётся в зависимости от настроек очереди
звонки идут на оператора, очереди нужно делать в астериске, под заказ можем сделать
Makioro писал(а):Хорошая новость
3) Есть ли возможность указать несколько номеров оператору?
нет только один, если обслуживает несколько, нужно это делать в астериске с редиректом на оператора

Ответить