Страница 1 из 2

Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 03 дек 2012, 10:50
hatun
Asterisk 1.8.18.0
CentOS 5.6


D-Link DVG-6008s

1. Порт FXO. Присвое номер 180
2. При поступлении входящего звонка через hotline звонок переводится на [incoming_calls] Телефоны звонят нормально.
3. Внутри звонки ходят штатно.
4. При совершении звонка наружу происходит ошибка. Линия постоянно занята.

Конфигурация:

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

sip.conf           [----] 19 L:[  1+17  18/ 45] *(259 /1603b)= .  10 0x0A                                       [general]                                                                                                       context=default                                                                                                 allowoverlap=no                                                                                                 bindport=5060                                                                                                   bindaddr=0.0.0.0                                                                                                                    
                    
register => 180:pwd1000@10.2.3.42                                                                                                   
[180]                                                                                                           defaultuser=180                                                                                                 secret=pwd1000                                                                                                  type=friend                                                                                                     qualify=yes                                                                                                     port=5060                                                                                                       nat=no                                                                                                          host=dynamic                                                                                                    dtmfmode=rfc2833                                                                                                context=incoming_calls                                                                                          canreinvite=no                                                                                                  disallow=all                                                                                                    allow=alaw                                                                                                      allow=ulaw                                                                                                                                                                                                                                          
[3000]                                                                                                          type=friend                                                                                                     context=phones                                                                                                  host=dynamic                                                                                                    secret=1000pwd                                                                                                                      
[3001]                                                                                                          type=friend                                                                                                     context=phones                                                                                                  host=dynamic                                                                                                    secret=1000pwd                                                                                                                      
[3002]                                                                                                          type=friend                                                                                                     context=phones                                                                                                  host=dynamic                                                                                                    secret=1000pwd 

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

extensions.conf    [----] 29 L:[  1+47  48/ 61] *(1327/1451b)= /  47 0x2F                                                           
[globals]                                                                                                       [general]                                                                                                       autofallthrough=yes                                                                                                                 
[default]                                                                                                                           
[incoming_calls]                                                                                                ; При звонке на первый порт FXO группа распределения                                                            ;Звонит первый телефон, потом второй, потом опять первый, потом второй                                          exten=>601,1,Dial(SIP/3001,2,tr)                                                                                exten=>601,n,Dial(SIP/3002,4,tr)                                                                                exten=>601,n,Goto(601,1)                                                                                                            
[internal]                                                                                                                          
; четырехзначные звонки начинающиеся на 3 - звоним на SIP                                                       exten => _3XXX, 1, Dial(SIP/${EXTEN},${TIMEOUT},tT)                                                                                 
                    
[out]                                                                                                                               
; набор городского номера через "9", выход на городские номера прямой на внешнем операторе                                          
exten => _9XX.,1,NoOp()                                                                                         exten => _9XX.,n,Dial(SIP/180/${EXTEN:1},,tT)    
exten => _9XX.,n,Hangup()                                                                                                                                                                                                       [phones]                                                                                                        include => internal                                                                                             include => out    

===========================================================================================================
Регистрация SIP

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

asterisk*CLI> sip show peers
Name/username              Host                                    Dyn Forcerport ACL Port     Status     
180/180                    10.2.3.42                                D                 5060     OK (1 ms)  
3000/3000                  10.2.0.10                                D   N             15428    Unmonitored 
3001/2000                  10.2.2.251                               D   N             5060     Unmonitored 
3002/3002                  10.2.2.78                                D   N             5060     Unmonitored 
4 sip peers [Monitored: 1 online, 0 offline Unmonitored: 3 online, 0 offline]
asterisk*CLI> 
===========================================================================================================

При исходящем звонке на номер 181:

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

asterisk*CLI> 
  == Using SIP RTP CoS mark 5
    -- Executing [9181@phones:1] NoOp("SIP/3001-00000047", "") in new stack
    -- Executing [9181@phones:2] Dial("SIP/3001-00000047", "SIP/180/181,,tT") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/180/181
    -- Got SIP response 482 "Loop Detected" back from 10.2.3.42:5060
    -- SIP/180-00000048 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Executing [9181@phones:3] Hangup("SIP/3001-00000047", "") in new stack
  == Spawn extension (phones, 9181, 3) exited non-zero on 'SIP/3001-00000047'
линия постоянно занята, но сам d-link в логах об этом не говорит.
Иногда удается позвонить, но это просходит один раз на 30 наборов примерно.

Как решить данную проблему?

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 03 дек 2012, 12:02
ded
SIP/180/181 - не лепо. В этот порт FXO воткнули внутренний экстеншн какой-то АТС типа понос-соник?
Ужасная комбинация!
И вот почему: согласно диал-плану звонок, направленный через этот порт на экст. 181 в понос-сонике возвращается оттуда (из Д-линка) назад
-- Called SIP/180/181
-- Got SIP response 482 "Loop Detected" back from 10.2.3.42:5060

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 03 дек 2012, 13:01
hatun
вы правы. в fxo порт подключен внутренний номер от панаса. для проверки работы. и при этом иногда исходящий звонок проходит

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 03 дек 2012, 13:11
ded
Вот как коряво выглядит Ваш extensions.conf (наверху), так у Вас всё и работает. Видимо поправить, чтобы было аккуратно и понятно, рука уже не поднялась?
Фтопку.

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 03 дек 2012, 14:29
hatun
ded писал(а):Вот как коряво выглядит Ваш extensions.conf (наверху), так у Вас всё и работает. Видимо поправить, чтобы было аккуратно и понятно, рука уже не поднялась?
Фтопку.
не совсем понятно о чем вы. если о табуляции, то это от того, что копирование с консоли.

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 03 дек 2012, 14:53
ded
Ну! Так это всё объясняет!

Изображение

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 04 дек 2012, 06:13
hatun
Я не сторонник копипаста. И не гуру *. Поэтому у меня возникают вопросы.
Для изучения взял чистый *, без сборок.

Изменил конфигурацию SIP транка до шлюза.

на первый порт FXO я присвоил номер 2418 (реальный номер, который приходит по меди ХХ2418)

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

;регистрация первого порта FXO на D-Link
register => 2418:1000pwd@10.2.3.42

;первый порт FXO на d-link 
[2418] 
defaultuser=2418
secret=1000pwd
type=friend
qualify=yes
port=5060
nat=no
host=dynamic 
dtmfmode=rfc2833
context=incoming_calls
canreinvite=no
disallow=all
allow=alaw
allow=ulaw

;шаблон внутренних номеров
[users_tel](!)
type=friend
context=phones 
host=dynamic
secret=1000pwd

;Внутренние номера
[3000](users_tel 
mailbox=3000
[3001](users_tel)
mailbox=3001 



Описание extensions.conf

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


[globals]
[general]
autofallthrough=yes 

[default]

;Принимаем входящий звонок от d-link
 [incoming_calls]
;При звонке на первый порт FXO группа распределения
exten => 601,1,Dial(SIP/3001&SIP/3000) 
exten => 601,n,Hangup

; Звонки внутри офиса
 [internal]
; четырехзначные звонки начинающиеся на 3 - звоним на SIP телефоны
exten => _3XXX, 1, Dial(SIP/${EXTEN},${TIMEOUT},tT)

; Звонки на городские номера и сотовые направления
 [out] 
;набор городского номера через "9"
exten => _9XXXXXX,1,Dial(SIP/2418/${EXTEN:1},,tr)

;звонок на сотовый телефон
exten => _989XXXXXXXXX, 1 ,Dial(SIP/2418/${EXTEN:1},,tr)

;контекст для телефонов пользователей
 [phones] 
include => internal 
include => out


из лога d-linka следует что он зарегистрировался:

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

12:08:43 [005954] 0: 2418=REGISTER
12:08:44 [005955] 0: 2418=REGISTER_AUTHN
12:08:44 [005957] 0: 2418=REGISTERED
На d-linke в настройках Telephony Setting выставлено значение HOTLINE на номер 601.
Данного номера реально не существует. Для него не заведен extention.
При звонке с номера сотового оператора на FXO порт №1 происходит звонок:

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

12:41:29 [025610] 0: Fxo Ringing
12:41:29 [025611] 0: RingTime(108) First Stop
12:41:33 [025649] 0: RingTime(499) Second Ring
12:41:35 [025670] 0: CallerId=
12:41:35 [025670] 0: ==17:WaitAnswerDeviceOk
12:41:35 [025670] 0: HotLineEnabled with [601]
12:41:35 [025670] 0: End Input Default Route [0]
12:41:35 [025670] 0: Call Proxy with [601]
12:41:35 [025670] 0: ==7:Inviting
12:41:35 [025670] 0: VoIP CallOut, Invite <sip:601@10.2.3.42;user=phone>
12:41:35 [025671] 0: 2418=DIALING
12:41:35 [025674] 0: 2418=PROCEEDING
12:41:35 [025674] 0: 2418=RINGBACK
12:41:35 [025675] 0: ==8:RingBack
12:41:37 [025689] 0: 2418=CONNECTED
12:41:37 [025689] 0: Peer=10.2.3.42:18934, PT=8, RecvOnly=0
12:41:37 [025690] 0: FxoHookOff
12:41:37 [025690] 0: SetInputGain(-2)
12:41:37 [025690] 0: RtpApiTalk[0,0], Peer=10.2.3.42:18934, PT=8, FC=2, NewOOB=1
12:41:37 [025690] 0: ==14:Talking
12:41:37 [025690] 0: SetTalkMode[1,1]
12:41:42 [025739] 0: 2418=DISCONNECT
12:41:42 [025739] 0: Release Active Dlg
12:41:42 [025739] 0: ==15:PlayBusyTone
12:41:45 [025770] DSP_ch0_check=0
12:41:45 [025770] 0: FxoHookOn
12:41:45 [025770] 0: ==3:Idle
12:41:45 [025770] 0: SetInputGain(4)
12:41:45 [025770] 0: SetFax(0)=0

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

asterisk*CLI> 
  == Using SIP RTP CoS mark 5
    -- Executing [601@incoming_calls:1] Dial("SIP/2418-0000001c", "SIP/3001&SIP/3000") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/3001
  == Using SIP RTP CoS mark 5
    -- Called SIP/3000
    -- SIP/3000-0000001e is ringing
    -- SIP/3001-0000001d is ringing
    -- Got SIP response 480 "Temporarily Unavailable" back from 10.2.0.10:33958
    -- SIP/3000-0000001e is circuit-busy
    -- SIP/3001-0000001d answered SIP/2418-0000001c
    -- Locally bridging SIP/2418-0000001c and SIP/3001-0000001d
[Dec  5 00:04:34] WARNING[4669]: res_rtp_asterisk.c:2156 ast_rtp_read: RTP Read too short
[Dec  5 00:04:34] WARNING[4669]: res_rtp_asterisk.c:2156 ast_rtp_read: RTP Read too short
  == Spawn extension (incoming_calls, 601, 1) exited non-zero on 'SIP/2418-0000001c'

При звонке с номера 3001 на номер сотового оператора звонок проходит.

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

asterisk*CLI> 
  == Using SIP RTP CoS mark 5
    -- Executing [989144211111@phones:1] Dial("SIP/3001-0000000f", "SIP/2418/89144211111,,tr") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/2418/89144211111
    -- SIP/2418-00000010 answered SIP/3001-0000000f
    -- Registered SIP '2418' at 10.2.3.42:5060
  == Spawn extension (phones, 989144211111, 1) exited non-zero on 'SIP/3001-0000000f'
Делаем повторный звонок на этот же номер и получаем

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

asterisk*CLI> 
  == Using SIP RTP CoS mark 5
    -- Executing [989144211111@phones:1] Dial("SIP/3001-00000026", "SIP/2418/89144222758,,tr") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/2418/89144211111
    -- Got SIP response 482 "Loop Detected" back from 10.2.3.42:5060
    -- SIP/2418-00000027 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Auto fallthrough, channel 'SIP/3001-00000026' status is 'CONGESTION'
asterisk*CLI>
Почему так может происходить?

В FXO порт подключена честная линия от PSTN

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 04 дек 2012, 06:20
hatun
ded писал(а):SIP/180/181 - не лепо. В этот порт FXO воткнули внутренний экстеншн какой-то АТС типа понос-соник?
Ужасная комбинация!
И вот почему: согласно диал-плану звонок, направленный через этот порт на экст. 181 в понос-сонике возвращается оттуда (из Д-линка) назад
-- Called SIP/180/181
-- Got SIP response 482 "Loop Detected" back from 10.2.3.42:5060
По какой причине звонок может быть возвращен?
Неправильная конфигурация extention.conf или d-link?

Хотя, при отображении этой ошибки d-link в своих логах ничего не регистрирует.

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 04 дек 2012, 07:08
hatun
Да, прочитал.
Сделал по подобию. Описано на предыдущей странице.
Как номер 181 может быть зарегистрирован на шлюзе, если об этом на шлюзе нигде не указано.

Re: Не работают исходящие вызовы DVG-6008s +Asterisk

Добавлено: 04 дек 2012, 08:18
hatun
Настройки D-Link

Настройки сети
Изображение

CAllerID
Изображение

Настройки телефонии
Изображение

SIP
Изображение

Изображение

Расширенные настройки:
Изображение