LINUX.ORG.RU
решено ФорумAdmin

DVG6004S

 ,


0

1

Привет! Вопрос к обладателям этого устройства. Каждый канал FXO заведен индивидуально в астериск

[Dlink6004S](!)
disallow=all
type=friend
host=dynamic
dtmfmode=rfc2833
context=incoming
canreinvite=nonat
allow=ulaw,alaw,g729
insecure=port,invite

[DVG031](Dlink6004S)
secret=DVG031

[DVG032](Dlink6004S)
secret=DVG032

[DVG033](Dlink6004S)
secret=DVG033

[DVG034](Dlink6004S)
secret=DVG034
DVG031/DVG031              192.168.201.38                           D          5060     Unmonitored 
DVG032/DVG032              192.168.201.38                           D          5060     Unmonitored 
DVG033/DVG033              192.168.201.38                           D          5060     Unmonitored 
DVG034/DVG034              192.168.201.38                           D          5060     Unmonitored 
Входящий звонок шлюз передает (hot line) совершая звонок на Астериск на номера 901, 902, 903, 904
[incoming]
exten => s,1,Goto(to-queue,s,1)
exten => _90X,1,NoOp(${CALLERID(num)})
exten => _90X,n,NoOp(${CALLERID(name)})
exten => _90X,n,Goto(to-queue,s,1)
exten => _X.,1,Goto(to-queue,s,1)
exten => receiver,1,Set(CALLERID(num)=${CALLERID(name)})
exten => receiver,n,Goto(to-queue,s,1)
Звоню на 1ой порт устройства
Executing [901@incoming:1] NoOp("SIP/DVG031-00000033", "777777") in new stack
    -- Executing [901@incoming:2] NoOp("SIP/DVG031-00000033", "") in new stack
    -- Executing [901@incoming:3] Goto("SIP/DVG031-00000033", "to-queue,s,1") in new stack
    -- Goto (to-queue,s,1)

Звоню на 2ой порт устройства

-- Executing [902@incoming:1] NoOp("SIP/DVG031-0000002b", "777777") in new stack
    -- Executing [902@incoming:2] NoOp("SIP/DVG031-0000002b", "") in new stack
    -- Executing [902@incoming:3] Goto("SIP/DVG031-0000002b", "to-queue,s,1") in new stack
    -- Goto (to-queue,s,1)
Звоню на 3ой порт устройства
Executing [903@incoming:1] NoOp("SIP/DVG031-0000002e", "777777") in new stack
    -- Executing [903@incoming:2] NoOp("SIP/DVG031-0000002e", "") in new stack
    -- Executing [903@incoming:3] Goto("SIP/DVG031-0000002e", "to-queue,s,1") in new stack
    -- Goto (to-queue,s,1)

Почему всегда SIP/DVG031 (Иногда правда бывают и другие SIP/DVG032, SIP/DVG033)? Из за этого пришлось использовать в шаблоне [Dlink6004S]

[Dlink6004S](!)
...
insecure=port,invite
...
Как выяснил железка в наведенном транке к Астериску шлет всегда имя SIP/DVG031 не зависимо по какому транку идет передача. Это победить можно? А то в CDR статистика смазывается, как будто звонят всегда на первый номер.
| 77 | 2012-06-05 15:13:59 |      | 89205555555 | s           | to-queue | SIP/DVG031-0000000a  | SIP/100-0000000c     | Queue   | operators,tTh,,,300  

P.S.: Аналогичная тема на Dlink

★★★★★

Последнее исправление: petav (всего исправлений: 2)

Фича астериска, он определяет транк по комбинации ip+порт. Они в твоем случае одинаковы

Yur4eg ★★
()

то победить можно?

Пропиши уникальный callerid в каждый SIP peer.
[DVG031](Dlink6004S)
callerid=«link1»
secret=DVG031

[DVG032](Dlink6004S)
callerid=«link2»
secret=DVG032

etc

zgen ★★★★★
()
Ответ на: комментарий от zgen

Изменил, не помогает

[DVG031](Dlink6004S)
secret=DVG031
callerid="DVG031"

[DVG032](Dlink6004S)
secret=DVG032
callerid="DVG032"

[DVG033](Dlink6004S)
secret=DVG033
callerid="DVG033"

[DVG034](Dlink6004S)
secret=DVG034
callerid="DVG034"

petav ★★★★★
() автор топика
Ответ на: комментарий от Yur4eg

Да нет, я в sip debug вижу как по второму транку это хреновня представляется как DVG031. Астериск пытается имя сверить (ожидает DVG032) и говорит что имя он другое ждет.

petav ★★★★★
() автор топика
Ответ на: комментарий от Yur4eg

Оказывается все наоборот, приходит все верно, а астериск его хочет авторизовать по реквизитам первого транка. (902 номер это звонок с третьего порта)

<--- SIP read from UDP:192.168.201.38:5060 --->
INVITE sip:902@192.168.201.248 SIP/2.0
Allow:INVITE,ACK,OPTIONS,BYE,CANCEL,INFO,PRACK,REFER,SUBSCRIBE,NOTIFY,UPDATE
Via: SIP/2.0/UDP 192.168.201.38:5060;branch=z9hG4bK187da6f0c643366c
From: <sip:84842279927@192.168.201.248;user=phone>;tag=51d969b8-685067
To: <sip:902@192.168.201.248>
Call-ID: D1B9-DA37-466850674D61369727BE-009@SipHost
CSeq:6 INVITE
Contact: <sip:DVG033@192.168.201.38:5060>
Expires:90
Max-Forwards:70
Authorization:Digest username="DVG033",realm="asterisk",nonce="3952e646",uri="sip:902@192.168.201.248",response="226634bbd44bf8536de4be823d8e7747",algorithm=MD5
Remote-Party-ID:<sip:84842279927@192.168.201.248;user=phone>;party=calling;privacy=off;screen=yes
Supported: replaces
User-Agent:dlink 12-38-43929367-0.9.5.1.1928-SA7O4
Content-Type: application/sdp
Content-Length: 330

v=0
o=DVG033 1792262250 1792262250 IN IP4 192.168.201.38
s=Session SDP
c=IN IP4 192.168.201.38
t=0 0
m=audio 9004 RTP/AVP 8 4 0 18 2 101
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:2 G726-32/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
<------------->
--- (16 headers 14 lines) ---
Sending to 192.168.201.38:5060 (no NAT)
Using INVITE request as basis request - D1B9-DA37-466850674D61369727BE-009@SipHost
Found peer 'DVG031' for '84842279927' from 192.168.201.38:5060
[Jun  6 17:14:00] WARNING[30433]: chan_sip.c:13698 check_auth: username mismatch, have <DVG031>, digest has <DVG033>
[Jun  6 17:14:00] NOTICE[30433]: chan_sip.c:21510 handle_request_invite: Failed to authenticate device <sip:84842279927@192.168.201.248;user=phone>;tag=51d969b8-685067

<--- Reliably Transmitting (no NAT) to 192.168.201.38:5060 --->
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 192.168.201.38:5060;branch=z9hG4bK187da6f0c643366c;received=192.168.201.38
From: <sip:84842279927@192.168.201.248;user=phone>;tag=51d969b8-685067
To: <sip:902@192.168.201.248>;tag=as1cbde030
Call-ID: D1B9-DA37-466850674D61369727BE-009@SipHost
CSeq: 6 INVITE
Server: Asterisk PBX 1.8.4.4~dfsg-2ubuntu1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Так, другая такая же железка, вот такой INVITE посылает и пиры не путаются

<--- SIP read from UDP:192.168.204.37:5060 --->
INVITE sip:907@192.168.204.4:5060;user=phone SIP/2.0
Allow:INVITE,ACK,OPTIONS,BYE,CANCEL,INFO,PRACK,REFER,SUBSCRIBE,NOTIFY,UPDATE
Via:SIP/2.0/UDP 192.168.204.37:5060;branch=z9hG4bKc46e6f2e6a688db1
From: "89206165457" <sip:DVG023@192.168.204.4;user=phone>;tag=be4c4436-782609
To: <sip:907@192.168.204.4:5060;user=phone>
Call-ID:D1B9-DD36-467826093AC917EFF72A-980@SipHost
CSeq:360 INVITE
Contact:<sip:DVG023@192.168.204.37:5060>
Expires:90
Max-Forwards:70
Supported:replaces
User-Agent:dlink 12-37-61928258-0.9.5.1.735
Content-Type:application/sdp
Content-Length:264

v=0
o=DVG023 1889804640 1889804640 IN IP4 192.168.204.37
s=Session SDP
c=IN IP4 192.168.204.37
t=0 0
m=audio 10004 RTP/AVP 8 4 18 2 0
a=rtpmap:8 PCMA/8000/1
a=rtpmap:4 G723/8000/1
a=rtpmap:18 G729/8000/1
a=rtpmap:2 G726-32/8000/1
a=rtpmap:0 PCMU/8000/1
<------------->
--- (14 headers 11 lines) ---
Sending to 192.168.204.37:5060 (NAT)
Using INVITE request as basis request - D1B9-DD36-467826093AC917EFF72A-980@SipHost
Found peer 'DVG023' for 'DVG023' from 192.168.204.37:5060

У них разные заголовки FROM и отсутствует Authorization:Digest. Копаю...

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

В разделе SIP
Нужно снять галку с параметра Put Caller ID In URI и заголовок становится вида:

...
From: "84842234532" <sip:DVG031@192.168.201.248;user=phone>;tag=f7705fa6-684931
...
вместо
...
From: <sip:84842234532@192.168.201.248;user=phone>;tag=51d969b8-685067
...
И транки не путаются.

P.S.: Завтра утром еще раз проверю. Подтвержу результат.

petav ★★★★★
() автор топика
Ответ на: комментарий от petav
...
exten => _90X,1,Set(CALLERID(num)=${CALLERID(name)})
...

Получилось изложение на тему «Как я провел вечер»

petav ★★★★★
() автор топика
21 сентября 2012 г.
Ответ на: комментарий от gazizeldar

Слит не могу, там конфиденциальная информация. Постараться помочь могу, если проблему опишите. Только раз информация данного поста не помогла, то думаю проблема в другом и разбирать это надо в новой теме.

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

все оказалось намного лучше и проще. кривые руки и кривой мозг не давали увидеть проблему.. надо правильно было в диалплане указывать я указывал вот так exten => _XXXXX,1,Dial(SIP/701/${EXTEN},60,tTwWkK) а д-линк оказывается туговат...и я тоже надо вотак было exten => _XXXXX,1,Dial(SIP/701/701${EXTEN},60,tTwWkK) и наступило мне счастье! стала жесткая привязка к линии! спасибо за ваш пост очень хорошо и много мне помогло отсюда.

gazizeldar
()
Ответ на: комментарий от petav

Не могли бы вы попдробнее написать как это осуществить? у меня входящий с хотлайна 0701 падает в экстен from-pstn1 с него в incoming701 куда именно можно вставить ваше ... exten => _90X,1,Set(CALLERID(num)=${CALLERID(name)}) ... у меня в диалплане вот так сначала сюда [from-pstn1] exten => 0701,1,Goto(incoming701,s,1) отсюда перенаправление [incoming701] exten => s,1,Answer exten => s,n,Set(TIMEOUT(digit)=1) exten => s,n,Set(TIMEOUT(response)=2) exten => s,n,Background(/home/IVR/welcome) include => daytime exten => s,n,Dial(SIP/1008,10,tTwWkK) exten => s,n,Hangup

gazizeldar
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.