Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / asterisk + addpac (несколько пользователей) = не тот context

asterisk + addpac (несколько пользователей) = не тот context

asterisk + addpac (несколько пользователей) = не тот context
Сообщений: 35

asterisk + addpac (несколько пользователей) = не тот context

всем здрассте.

имеется:
- asterisk 1.4.18.1
- addpack ap1100f-c (8fxo)
- одна городская линия – подключена к 0/0 порту addpac-а
- один gsm-gw – подключен к 0/1 порту addpac-а

все клиентские телефоны регистрируются на asterisk-е. addpac выступает в роли шлюза между ip и pstn. схема не в продакшине. обкатывается на стенде.
куски конфига addpac1100f-c относящиеся к вопросу:
! FXO
voice-port 0/0
connection plar 1111
ring detect-timeout 100
no caller-id enable
!
!
! FXO
voice-port 0/1
ring detect-timeout 100
no caller-id enable

! Pots peer configuration.
!
dial-peer voice 0 pots
destination-pattern .T
port 0/0
user-name 100
user-password 100
preference 1
huntstop
!
dial-peer voice 1 pots
destination-pattern 8039.......
port 0/1
forward-digits from 0
user-name 101
user-password 101
huntstop
!
!
!
! Voip peer configuration.
!
dial-peer voice 1000 voip
destination-pattern .T
session target sip-server
session protocol sip
voice-class codec 0
dtmf-relay rtp-2833
no vad
huntstop
!
! Codec classes configuration.
!
voice class codec 0
codec preference 1 g711ulaw
codec preference 2 g711alaw


пользователи из sip.conf
[100]
type=friend
host=dynamic
username=100
secret=100
allow=ulaw
allow=alaw
dtmfmode=rfc2833
context=inc-test
;insecure=port,invite

[101]
type=friend
host=dynamic
username=101
secret=101
allow=ulaw
allow=alaw
dtmfmode=rfc2833
context=inc-test-mob
;insecure=port,invite


sh sip c addpac-а
Proxyserver registration status :
-----------------------------------------------------------------------------------
UserName UserID Password Port Status
-----------------------------------------------------------------------------------
100 100 100 0/ 0 Registered
101 101 101 0/ 1 Registered


в консоли asterisk-a:
-- Registered SIP '100' at 10.0.0.126 port 5060 expires 60
-- Registered SIP '101' at 10.0.0.126 port 5060 expires 60


исходящие звонки в город и на мобильные телефоны (код оператора 039) проходят вроде бы нормально, проблем не наблюдалось. самое грустное наблюдается со входящими звонками. делаем звонок из города, в консоли asterisk-a:
[Jul 29 13:59:31] WARNING[48266]: chan_sip.c:8387 check_auth: username mismatch, have <101>, digest has <100>
[Jul 29 13:59:31] NOTICE[48266]: chan_sip.c:13823 handle_request_invite: Failed to authenticate user <sip:10.0.0.167>;tag=4348a51fa4

в трубке гудки сброса.

расскоментируем в sip.conf строку insecure=port,invite для обоих пользователей, sip reload. через некоторое время повторяем звонок. соединились, поговорили… вроде бы все замечательно, но смотрим /var/log/asterisk/cdr-csv/Master.csv и видим не то что ожидали:
"","","1111","inc-test-mob","","SIP/101-08782000","SIP/1111-08793000","Dial","SIP/1111|25|tT","2008-07-29 14:01:40","2008-07-29 14:01:44","2008-07-29 14:01:49",9,5,"ANSWERED","DOCUMENTATION","1217329300.2959",""


а ожидали увидеть контекст inc-test и SIP/100 – так как собственно пользователь 100 (asterisk) входит в контекст inc-test, а так же пользователь 100 (addpac) прописан на порту fxo 0/0
первая ссылка в гугле выдала http://bugs.digium.com/view.php?id=9678
из чего следует что это бага (или by design, называйте как хотите) asterisk-а

собственно вопрос, есть ли какой workground чтобы данная связка работала корректно?
2008-07-29 16:31

Сообщений: 6521

Re: asterisk + addpac (несколько пользователей) = не тот context

1. у тебя dial-peer voice 0 pots
destination-pattern .T

и
!
dial-peer voice 1000 voip
destination-pattern .T

имеют одинаковый destination-pattern .T

Это все равно что винде два дефолтных шлюза с одинаковыми метриками указать.
Дальше можно даже не врубаться.

2. Не делай себе лишний гимор с регистрациями, пользователь 100 и пользователь 101, зачем тебе вся эта возня с insecure=port,invite? Если это твоя сеть, если это твой АддПак, если он не у тебя дома на динамическом ИП адресе стоит, зачем вся эта канитель? сделай статический СИП пир - АддПак, укажи его ИП адрес, и передавай в контесте звонки в ТФОП иГСМ сеть на него:
exten => 8X.,1,Dial(SIP/AddPac/${EXTEN})
а он разрулит в какой диал пир отдавать звонок, если правильно пропишешь. А посмотреть правьно ли ты прописал там можно командами show dial-plan number 8092124235 и тд.
2008-07-29 18:40

Сообщений: 35

Re: asterisk + addpac (несколько пользователей) = не тот context

имеют одинаковый destination-pattern .T
Это все равно что винде два дефолтных шлюза с одинаковыми метриками указать.
ну наверное сравнение несовсем правильное, но блин не придумал же их сам, все нагуглил.

Не делай себе лишний гимор с регистрациями, пользователь 100 и пользователь 101, зачем тебе вся эта возня с insecure=port,invite? Если это твоя сеть, если это твой АддПак, если он не у тебя дома на динамическом ИП адресе стоит, зачем вся эта канитель?

дык, опять таки, все нагуглил, примеров в инете с регистрацией полно, а вот без регистрации, как-то непопадались. может искал не там?

сделал как вы посоветовали в п2. вроде бы воркает так как нужно и исходящие и входящие звонки!

и снова ded-у респект и благодарность!
2008-07-30 15:20

Сообщений: 6521

Re: asterisk + addpac (несколько пользователей) = не тот context

Эх, молодо-зелено, я АддПак 2650 с портом Е1 покупал напрямую у корейцев и потом конфигурил удалённо у клиента в году так-эдак 1812, вот аккурат, как Наполеон Москву спалил! Не было ишшо никакого СИПа, один Н.323 кругом. Столетия проходят, а мы всё те же ....
2008-07-30 22:22

Добавить страницу в закладки:  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