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

отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 16:42
Akela
пытаюсь соединить Asterisk 1.8.4 (IP - 192.168.0.193) с офисной АТС Samsung OS7400 (IP - 192.168.0.99) по SIP без регистрации . Проблема с входящими на Астериск вызовами. На invite от Samsung Asterisk ругается 403ей ошибкой. Как я понял, Астеру не нравится, что инвайт приходит от неавторизованного пользователя.

Трассировки вызова:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
<--- SIP read from UDP:192.168.0.99:5060 --->
INVITE sip:1001@192.168.0.193:5060;user=phone SIP/2.0
From: <sip:997@192.168.0.99:5060;user=phone>;tag=53ab3f0-c0a80063-13c4-50022-2b372-551a4c04-2b372
To: <sip:1001@192.168.0.193:5060;user=phone>
Call-ID: 53a2d38-c0a80063-13c4-50022-2b372-5f2d4406-2b372
CSeq: 1 INVITE
Via: SIP/2.0/UDP 192.168.0.99:5060;rport;branch=z9hG4bK-2b372-a8cf5ad-2f56d506
Max-Forwards: 70
Supported: replaces
User-Agent: Samsung OfficeServ
Contact: <sip:997@192.168.0.99:5060>
Privacy: none
Allow: REGISTER,INVITE,ACK,BYE,REFER,NOTIFY,CANCEL,INFO,OPTIONS,PRACK,SUBSCRIBE,UPDATE
Content-Type: application/sdp
Content-Length: 339

v=0
o=SAMSUNG_SIP_GATEWAY 177010094 0 IN IP4 192.168.0.99
s=SIP_CALL
c=IN IP4 192.168.0.200
t=0 0
m=audio 30004 RTP/AVP 8 0 18 18 4 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:18 G729/8000
a=rtpmap:4 G723/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
<------------->

SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 192.168.0.99:5060;branch=z9hG4bK-2b372-a8cf5ad-2f56d506;received=192.168.0.99;rport=5060
From: <sip:997@192.168.0.99:5060;user=phone>;tag=53ab3f0-c0a80063-13c4-50022-2b372-551a4c04-2b372
To: <sip:1001@192.168.0.193:5060;user=phone>;tag=as2c0a91e3
Call-ID: 53a2d38-c0a80063-13c4-50022-2b372-5f2d4406-2b372
CSeq: 1 INVITE
Server: Asterisk PBX 1.8.4
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0


<------------>

sip.conf
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[general]

[sets](!)
type=friend
context=internal
host=dynamic
disallow=all
allow=ulaw
dtmfmode=rfc2833

[1001](sets)
secret=1001

[1002](sets)
secret=1002

[OS7400]
type=peer
host=192.168.0.99
fromuser=666
context=incoming_calls
dtmfmode=rfc2833
disallow=all
allow=gsm
allow=ulaw
allow=alaw
deny=0.0.0.0/0
permit=10.251.55.100/32
insecure=invite

extension.conf
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[globals]

[general]
autofallthrough=yes

[default]

[incoming_calls]
include => internal

[internal]
exten => 1001,1,Verbose(1|Extension 1001)
exten => 1001,n,Dial(SIP/1001,30)
exten => 1001,n,Hangup()

exten => 1002,1,Verbose(1|Extension 1002)
exten => 1002,n,Dial(SIP/1002,30)
exten => 1002,n,Hangup()

exten => 1003,1,Verbose(1|Extension 1003)
exten => 1003,n,Dial(IAX2/idefisk,30)
exten => 1003,n,Hangup()


[outgoing_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/OS7400/${EXTEN})

[phones]
include => internal
include => outgoing_calls
Возлагал надежды на то, что если в пире прописан айпишник, то Астер будет пропускать вызовы с него, так же пытался проэкспериментировать с опцией insecure , но безрезультатно все. В трассировках вижу только 403ий отлуп. Прошу не пинать сильно ногами за нубские конфиги, т.к. с астером дружу 2ую неделю только. Буду признателен за любую помощь, советы и тычки в нужном направлении.

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 17:24
SolarW
А если
insecure=very
попробовать?

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 17:26
ded
insecure=very - уже осталась в старых версиях.

Samsung посылает вызов To: <sip:1001@192.168.0.193:5060
и он попал бы в пир [OS7400] в котором указание insecure=invite
если бы не созданные зачем-то юзеры
[1001](sets)
secret=1001

[1002](sets)
secret=1002

Астериск находит при вызове [1001](sets), проверяет пароль - не подходит, 403 Forbidden.

Замаркируйте
;[1001](sets)
;secret=1001

;[1002](sets)
;secret=1002

потом sip reload и всё у Вас получится.

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 17:53
Akela
Закомментировал 1001 (это подключенный абонент), звоню на него и получаю 404 Not Found .
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
<--- SIP read from UDP:192.168.0.99:5060 --->
INVITE sip:1001@192.168.0.193:5060;user=phone SIP/2.0
From: <sip:997@192.168.0.99:5060;user=phone>;tag=53ad2e0-c0a80063-13c4-50022-2d084-3e4bf08e-2d084
To: <sip:1001@192.168.0.193:5060;user=phone>
Call-ID: 53a3418-c0a80063-13c4-50022-2d084-6f04d3f0-2d084
CSeq: 1 INVITE
Via: SIP/2.0/UDP 192.168.0.99:5060;rport;branch=z9hG4bK-2d084-afe845c-6657efc8
Max-Forwards: 70
Supported: replaces
User-Agent: Samsung OfficeServ
Contact: <sip:997@192.168.0.99:5060>
Privacy: none
Allow: REGISTER,INVITE,ACK,BYE,REFER,NOTIFY,CANCEL,INFO,OPTIONS,PRACK,SUBSCRIBE,UPDATE
Content-Type: application/sdp
Content-Length: 339

v=0
o=SAMSUNG_SIP_GATEWAY 184452189 0 IN IP4 192.168.0.99
s=SIP_CALL
c=IN IP4 192.168.0.200
t=0 0
m=audio 30012 RTP/AVP 8 0 18 18 4 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:18 G729/8000
a=rtpmap:4 G723/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
<------------->
--- (14 headers 15 lines) ---
Sending to 192.168.0.99:5060 (no NAT)
Using INVITE request as basis request - 53a3418-c0a80063-13c4-50022-2d084-6f04d3f0-2d084
Found peer 'OS7400' for '997' from 192.168.0.99:5060
Found RTP audio format 8
Found RTP audio format 0
Found RTP audio format 18
Found RTP audio format 18
Found RTP audio format 4
Found RTP audio format 101
Found audio description format PCMA for ID 8
Found audio description format PCMU for ID 0
Found audio description format G729 for ID 18
Found audio description format G729 for ID 18
Found audio description format G723 for ID 4
Found audio description format telephone-event for ID 101
Capabilities: us - 0xe (gsm|ulaw|alaw), peer - audio=0x10d (g723|ulaw|alaw|g729)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0xc (ulaw|alaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
Peer audio RTP is at port 192.168.0.200:30012
Looking for 1001 in incoming_calls (domain 192.168.0.193:5060)

<--- Reliably Transmitting (no NAT) to 192.168.0.99:5060 --->
SIP/2.0 404 Not Found
Via: SIP/2.0/UDP 192.168.0.99:5060;branch=z9hG4bK-2d084-afe845c-6657efc8;received=192.168.0.99;rport=5060
From: <sip:997@192.168.0.99:5060;user=phone>;tag=53ad2e0-c0a80063-13c4-50022-2d084-3e4bf08e-2d084
To: <sip:1001@192.168.0.193:5060;user=phone>;tag=as040ab0ab
Call-ID: 53a3418-c0a80063-13c4-50022-2d084-6f04d3f0-2d084
CSeq: 1 INVITE
Server: Asterisk PBX 1.8.4
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0
Попробовал закомментировать только пароль 1001го юзера и получаю сообщение консоли Call from 'OS7400' to extension '1001' rejected because extension not found in context ' incoming_calls'.

Как же мне сохранить нормальную авторизацию пользователей и пробиться до них с Самсунга?

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 18:01
gofer_k
В extensions.conf в [incoming_calls] уберите include и пропишите действия для входящих с гнуса.

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 18:04
Akela
extension.conf
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[globals]

[general]
autofallthrough=yes

[default]

[incoming_calls]
include => internal

[internal]
exten => 1001,1,Verbose(1|Extension 1001)
exten => 1001,n,Dial(SIP/1001,30)
exten => 1001,n,Hangup()

exten => 1002,1,Verbose(1|Extension 1002)
exten => 1002,n,Dial(SIP/1002,30)
exten => 1002,n,Hangup()

exten => 1003,1,Verbose(1|Extension 1003)
exten => 1003,n,Dial(IAX2/idefisk,30)
exten => 1003,n,Hangup()


[outgoing_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/OS7400/${EXTEN})

[phones]
include => internal
include => outgoing_calls

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 18:07
gofer_k
[incoming_calls]

exten => 1001,1,Dial(SIP/1001,30)
exten => 1001,n,Hangup()

exten => 1002,1,Dial(SIP/1002,30)
exten => 1002,n,Hangup()

exten => 1003,1,Dial(IAX2/idefisk,30)
exten => 1003,n,Hangup()

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 18:21
ded
Akela писал(а):extension.conf
Акела промахнулся? У всех extensions.conf
Ну и вот так - лучше:
[incoming_calls]
exten => _100[12]X,1,Dial(SIP/${EXTEN},30,tTr)
exten => 1003,1,Dial(IAX2/idefisk,30,tT)
exten => h,1,Hangup()


а то следующий вопрос будет "А почему у меня трансфер не работает?"

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 18:30
Akela
Да, огромное спасибо, затык снят. Причем интересно вышло.
Сделал, как вы сказали
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[incoming_calls]
;include => internal
exten => 1001,1,Dial(SIP/1001,30)
exten => 1001,n,Hangup()
звонок прошел отлично.

Решил вернуть обратно включенный контекст, а остальное закомментировать
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[incoming_calls]
include => internal
;exten => 1001,1,Dial(SIP/1001,30)
;exten => 1001,n,Hangup()
Звонки тоже проходили, но Астер кидал Warning в консоли.
WARNING[2804]: pbx.c:1402 pbx_exec: The application delimiter is now the comma, not the pipe. Did you forget to convert your dialplan? (Verbose(1|Extension 1001))
1|Extension 1001

Подскажите , пожалуйста, о чем он меня предупреждал и почему при включенном в incoming_calls контексте internal (include => internal) не отрабатывался алгоритм звонка на 1001?

Re: отсутствует входящий вызов от SIP-сервера

Добавлено: 01 июн 2011, 18:36
ded
Он предупреждал, что разделитель - пайп | в выражении
exten => 1001,1,Verbose(1|Extension 1001)
уже не употребляется. Нужно использовать запятые в качестве разделителей - The application delimiter is now the comma, not the pipe.

почему при включенном в incoming_calls контексте internal (include => internal) не отрабатывался алгоритм звонка на 1001
даст ответ команда
dialplan show incoming_calls