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

Проблема стыка в peer по SIP.

Добавлено: 13 апр 2011, 16:29
mgm66
Есть задача организовать стык с партнером по SIP. У партнера используется либо Cisco, либо MVTS. Проблема в организации взаимодествия.
Прописал в пирах данные обоих устройств (sip.peers).
Пример:
[operator1]
type=peer
qualify=no
nat=yes
host=X.X.X.X
context=peers
call-limit=10
dtmfmode=info
callerid=3431234567 ;Caller ID что бы подставлялся на всего его входящие вызовы и отправлялся наружу.
insecure=invite
canreinvite=yes
callgroup=1
pickupgroup=1
disallow=all
allow=g729,ulaw

Далее прописал в диалплане (ext.conf)
[long-distance]
exten => _ZXXXXXXXX[0-9]!,1,Dial(SIP/interlink/${EXTEN})

[peers]
include => long-distance

Оператор делает вызов и получает тишину, в логах астера мы видим ошибку или 404 (Not found) или 503 (Service Unavailable ).

Астериск пишет следующий лог при звонке от оператора на номер 73432222222:
[Apr 13 17:55:39] VERBOSE[6244] pbx.c: -- Executing [73432222222@drop_all_calls:1] Hangup("SIP/X.X.X.X:5061-0006a0ac", "34") in new stack
[Apr 13 17:55:39] VERBOSE[6244] pbx.c: == Spawn extension (drop_all_calls, 73432222222, 1) exited non-zero on 'SIP/X.X.X.X:5061-0006a0ac'
[Apr 13 17:55:39] VERBOSE[6244] pbx.c: -- Executing [h@drop_all_calls:1] Hangup("SIP/X.X.X.X:5061-0006a0ac", "34") in new stack
[Apr 13 17:55:39] VERBOSE[6244] pbx.c: == Spawn extension (drop_all_calls, h, 1) exited non-zero on 'SIP/X.X.X.X:5061-0006a0ac'

До этого писал ошибку 404, как лог найду, выложу.

Re: Проблема стыка в peer по SIP.

Добавлено: 13 апр 2011, 16:54
ded
То есть звоним
exten => _ZXXXXXXXX[0-9]!,1,Dial(SIP/interlink/${EXTEN})
а sip пир не [interlink] у нас прописан а [operator1]?
Может логичней
exten => _ZXXXXXXXX[0-9]!,1,Dial(SIP/operator1/${EXTEN}) ??

кроме того
nat=yes предполагает
qualify=yes
чтобы поддерживать трансляцию, а если
qualify=no
то симметричный NAT
SNAT all -- 10.8.7.1 anywhere to:180.133.48.238

Re: Проблема стыка в peer по SIP.

Добавлено: 13 апр 2011, 17:02
mgm66
[quote="ded"]То есть звоним
exten => _ZXXXXXXXX[0-9]!,1,Dial(SIP/interlink/${EXTEN})
а sip пир не [interlink] у нас прописан а [operator1]?
Может логичней
exten => _ZXXXXXXXX[0-9]!,1,Dial(SIP/operator1/${EXTEN}) ??

тут как раз фишка в том, что оператор должен направить вызов на меня, а я уже с астера направить его на стык с интерлинком.
Интерлинк то у меня прописал и работает, у меня регятся сип телефоны и звонки через него уходят нормально, вот оператора подцепить и так же звонки перенаправлять на интерлинк.

Re: Проблема стыка в peer по SIP.

Добавлено: 13 апр 2011, 17:46
ded
Не цитируйте вообще ничего на хрен! НЕ ЦИТИРУЙТЕ! Просто авария какая-то, что за мода - плодить лишнюю сущность? Бритва Оккама - лучший метод.
Если Executing [73432222222@drop_all_calls:1] Hangup("SIP/X.X.X.X:5061-0006a0ac", то значит не попадает ваш звонок от оператора в контесктс peers.
А не попадает (потому что попа), потому что приходит может и не с того порта, откуда ожидается. То есть
insecure=invite,port
Ну и
canreinvite=no
Кстати callerid= - это никак не Caller ID (в википедии описано подробно).

Re: Проблема стыка в peer по SIP.

Добавлено: 14 апр 2011, 07:34
mgm66
Да, вы правы, помогла строчка
insecure=invite,port

Сейчас все работает, спасибо за совет.