Здравствуйте. Никак не могу победить выход в город в связке * с сабжевым шлюзом. Конфигурация следующая
users.conf
[users](!) type = friend context = phones_osnk transfer = yes call-limit = 2 qualify=yes host = dynamic hassip = yes hasiax = no hash323 = no [304](users) secret = 23sdsDFF_73 fullname = Абонентский cid_number = 304 [305](users) secret = 23sdsDFF_73 fullname = Абонентский cid_number = 305 [306](users) secret = 23sdsDFF_73 fullname = Лена cid_number = 306 [307](users) secret = 23sdsDFF_73 fullname = (тест. номер) cid_number = 307 [000195](users) secret = 23sdsDFF_71 cid_number = 449330 permit = 10.20.0.195 disallow=all allow=alaw dtmfmode=rfc2833
extensions.conf
[globals] [general] autofallthrough=yes [default] [phones_nvkz] exten => _ZXX,1,NoOp() exten => _ZXX,n,Dial(SIP/nvkz/${EXTEN},,t) exten => _ZXX,n,Hangup() [internal] exten => 304,1,Dial(SIP/304,,t) exten => 304,n,Hangup() exten => 305,1,Dial(SIP/305,,t) exten => 305,n,Hangup() exten => 306,1,Dial(SIP/306,,t) exten => 306,n,Hangup() exten => 307,1,Dial(SIP/307,,t) exten => 307,n,Hangup() [phones_osnk] include => internal include => outgoing_call include => phones_nvkz include => incoming_call [incoming_nvkz] include => internal [outgoing_call] ;exten => _9[45]XXXX,1,SayDigits(${EXTEN}) exten => _9[45]XXXX,1,Dial(SIP/000195/${EXTEN},30,rtT) exten => _9[45]XXXX,n,Congestion() exten => _9[45]XXXX,n,Hangup() exten => _90[1-3],1,Dial(SIP/000195/${EXTEN},60,rtT) exten => _90[1-3],n,Congestion() exten => _90[1-3],n,Hangup() [incoming_call] exten => 49330,1,Answer() exten => 49330,n,Dial(SIP/304) exten => 49330,n,Hangup()
sip.conf не привожу, здесь, я думаю, он не нужен.
Далее настройки на шлюзе 


Если нужно больше данных, скажите, выложу.
Удалось победить эту проблему проанализировав дамп пакетов со шлюза. Во первых я указал в настройках шлюза Pulse Dial Mode
Во вторых шлюзу не нравился fullname на русском языке, для исправления этого глюка можно использовать AGI скрипт на перле аля
exten => 305,1,AGI(translit.pl) exten => 305,n,NoOp() exten => 305,n,Dial(SIP/osnk/305) exten => 305,n,Hangup()
но пока я ограничился цифрами в
[307](users) secret = 23sdsDFF_73 fullname = 307 cid_number = 307
Проблема решена =)
ps
translit.pl
cat /var/lib/asterisk/agi-bin/translit.pl
#!/usr/bin/perl use Asterisk::AGI; use Encode; # use http://search.cpan.org/dist/Lingua-Translit/translit use Lingua::Translit; $AGI = new Asterisk::AGI; my %input = $AGI->ReadParse(); my $callerid = $input{'callerid'}; my $calleridname = $input{'calleridname'}; #Encode::from_to($calleridname, "cp1251", "utf8"); #Encode::from_to($calleridname, "utf8", "cp1251"); my $tr = new Lingua::Translit("GOST 7.79 RUS"); my $calleridname = $tr->translit($calleridname); $calleridname =~ s/ /_/g; $AGI->exec('Set', "CALLERID(name)=\"$calleridname\""); exit(0);
сам играю, сам пою, сам билеты продаю ;))) Между тем в первом посте вопрос обозначен не был.
Задан: 2012-03-14 13:34:50 +0400
Просмотрен: 718 раз
Обновлен: Mar 14 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.