Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / TrixBox, Elastix, FreePbx / Сбой в astdb

Сбой в astdb

Перестали приниматься звонки без аутентификации.
Сообщений: 7

Сбой в astdb

Здравствуйте, уважаемые коллеги!

Установлен elastix 2.0
Звонки с FXO шлюзов принимались * по ip адресу без аутентификации:
[172.20.0.10]
type=user
insecure=yes
dtmfmode=auto
context=from-pstn

[192.168.1.151]
type=user
insecure=yes
context=from-pstn
dtmfmode=auto

После кратковременного сбоя * начал считать звонки с адресов 172.20.0.10 192.168.1.151 анонимными.
В логах идут сообщения:
Failed to authenticate device <sip:XXXXXXXXX@172.20.0.10>;tag=1e4ce11fa4
где XXXXXXXXX callerid звонящего
Все SIP телефоны, регистрирующиеся на *, корректно работают.
Если перенастроить шюзы на регистрацию внутренних линий работают и они.

Измениений в конфигурационных файлах до и после сбоя нет(сравнивал дампы сервера)
Из относящихся к * изменились только
/var/lib/mysql/asterisk/notifications.MYD
/var/lib/mysql/asterisk/notifications.MYI
/var/lib/mysql/asteriskcdrdb/cdr.MYD
/var/lib/mysql/asteriskcdrdb/cdr.MYI
/var/lib/asterisk/astdb


Подозреваю что в astdb некорректные данные.
Если запретить * обращаться к astdb, то звонки не "отбрасываются":
Sep 29 22:59:18] WARNING[4204] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Sep 29 22:59:20] VERBOSE[4236] netsock.c: == Using SIP RTP TOS bits 184
[Sep 29 22:59:20] VERBOSE[4236] netsock.c: == Using SIP RTP CoS mark 5
[Sep 29 22:59:20] VERBOSE[4240] pbx.c: -- Executing [YYYYYY@from-sip-external:1] NoOp("SIP/172.20.0.10-00000000", "Received incoming SIP connection from unknown peer to YYYYYY") in new stack

Замена astdb на базу из бекапа не помогает
(резервное копирование делал с помощью lvm snapshot возможно она в неработоспособном состоянии)

Помогите определить astdb ли является причиной странного поведения *?
Как восстановить и как правильно делать её резервную копию?
2010-09-30 11:36

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Сбой в astdb

chmod 777 /var/lib/asterisk/astdb
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-09-30 11:42

Сообщений: 7

Re: Сбой в astdb

ll /var/lib/asterisk/astdb
-rw-rw-r-- 1 asterisk asterisk 184320 Sep 30 12:04 /var/lib/asterisk/astdb

Права неправильные я выставлял сам чтобы определить является ли astdb причиной некорректной работы астериск.

Если * читает базу данных то не принимает звонки если не может прочитать - то принимает. Значит в базе данные которые нарушают логику его работы.
Как эти данные из базы убрать?
2010-09-30 12:08

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Сбой в astdb

database del

если есть freepbx, то он будет неработоспособным после этой операции.
но можно восстановить вот таким скриптом

#!/usr/bin/env php
<?php
require_once('common/php-asmanager.php');
require_once('functions.inc.php');
// get settings
$amp_conf = parse_amportal_conf("/etc/amportal.conf");
$asterisk_conf = parse_asterisk_conf("/etc/asterisk/asterisk.conf");
$astman = new AGI_AsteriskManager();
if (! $res = $astman->connect("127.0.0.1", $amp_conf["AMPMGRUSER"] , $amp_conf["AMPMGRPASS"])) {
unset( $astman );
}
require_once('common/db_connect.php');
require_once("modules/core/functions.inc.php");
core_users2astdb();
core_devices2astdb();
?>
этот скрипт надо положить в /var/www/html/admin и запустить
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-09-30 12:13

Сообщений: 7

Re: Сбой в astdb

Спасибо БОЛЬШОЕ!
базу создал вновь.
Помогло до следующей перезагрузки.

Для корректной работы скрипта нужно добавить require_once('../admin/functions.inc.php'); в начало
/var/www/html/admin/common/php-asmanager.php
После работы скрипта нужно откатить изменения в php-asmanager.php иначе не работает веб интерфейс.


Я, кажется, копаю не в том направлении. Похоже база данных только хранит состояние ошибки но не вызывает её.

Если запись user не содержит данные аутентификации и первый звонок после рестарта * (часто нужно ещё удалить базу) принят от SIP/IP то дальше работа идет корректно до рестарта сервиса.
Если звонок принят как анонимный, то это также будет продолжаться до рестарта.
Было состояние когда один шлюз работал без аутентификации другой требовал её.

Шлюзы регистрируют свои порты на *.
Если убрать регистрацию, то глюк становится реже, но все равно появляется.

Подскажите куда копать.


2010-10-01 12:18

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Сбой в astdb

с похожей траблой недавно сталкивался из-за того, что не правильно настроил.
у вас в описании пиров слишком мало параметров. Сделайте нормальный транк в FreePBX и зарегистрируйте шлюз на сервере:


username=7811 ;имя пользователя для порта
type=friend ;позволяет и принимать и отправлять вызовы
secret=7811 ;для простоты пароль равен логину
qualify=yes ;разрешает серверу определять доступность шлюза
port=5060 ;SIP порт шлюза
nat=no ;запрещает NAT
host=dynamic ;для работы шлюз должен зарегистрироваться
dtmfmode=rfc2833 ;режим DTMF должен быть общим для всего шлюза
context=from-pstn ;контекст указывает обработчик входящих вызовов
canreinvite=no ;запрещает передачу медиатрафика минуя астериск
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-10-01 12:48

Сообщений: 7

Re: Сбой в astdb

Схема с аутентификацией по ip была выбрана для получения callerid из города.
Если регистрировать порты шлюза то звонок с callerid не проходит аутентификацию.
Трассировка соединения c callerid:
Method: INVITE
[Resent Packet: False]
Message Header
Via: SIP/2.0/UDP 172.20.0.10:5060;branch=z9hG4bK184c5ed6a4846
Transport: UDP
Sent-by Address: 172.20.0.10
Sent-by port: 5060
Branch: z9hG4bK184c5ed6a4846
From: <sip:XXXXXXXXXX@172.20.0.11>;tag=184c5ed6a4
SIP from address: sip:XXXXXXXXXX@172.20.0.11
SIP tag: 184c5ed6a4
To: <sip:2222@172.20.0.11>
SIP to address: sip:2222@172.20.0.11

Без callerid:
Method: INVITE
[Resent Packet: False]
Message Header
Via: SIP/2.0/UDP 172.20.0.10:5060;branch=z9hG4bKae4cd2d4a4263
Transport: UDP
Sent-by Address: 172.20.0.10
Sent-by port: 5060
Branch: z9hG4bKae4cd2d4a4263
From: <sip:4003@172.20.0.11>;tag=ae4cd2d4a4
SIP from address: sip:4003@172.20.0.11
SIP tag: ae4cd2d4a4
To: <sip:2222@172.20.0.11>
SIP to address: sip:2222@172.20.0.11

Пира XXXXXXXXXX в * нет и вызов получает отказ

Вечером попробую настроить шлюз как транк.
2010-10-01 14:17

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Сбой в astdb

настройте шлюз так, чтоб с callerid нормально работал и все дела
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-10-01 14:37

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru