всем здрассте.
имеется:
- 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 чтобы данная связка работала корректно?