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

Не правильное поле Contact

Добавлено: 18 сен 2015, 11:34
Volunteer
Здравствуйте, Коллеги. Подскажите, пожалуйста. У меня есть транк от провайдера. Похоже у них стоит kamailio

Мои настройки
sip.conf

[general]
register =>5555555:xxxxx@91.221.102.250/5555555
srvlookup=yes
udpbindaddr=0.0.0.0:5088
tcpenable=no
localnet=192.168.35.0/24
externip=111.111.111.111
alwaysauthreject=yes
insecure=port,invite
language=ru

[CTtelecom](!)

type=friend
qualify=yes
nat=force_rport,comedia
host=91.221.102.250
context=Incoming
dtmfmode=auto
disallow=all
allow=alaw
allow=ulaw
allow=gsm
insecure=invite

[6040264](CTtelecom)

defaultuser=5555555
fromuser=5555555
fromdomain=91.221.102.250
secret=xxxxx

Регистрация проходит нормально. Входящие тоже приходят. В вот исходящие.
При совершении звонка

exten => _9ZXXXXXX,1,Noop();
same= n,Dial(SIP/5555555/${EXTEN:1},60,rTt)
same=> n,Hangup()
Я получаю от провайдера SIP/2.0 403 Not relaying
с консоле выскакивает
[Sep 17 15:34:54] WARNING[8206][C-00000007]: chan_sip.c:23296 handle_response_invite: Received response: "Forbidden" from '"777" <sip:6040264@91.221.102.250:5138>;tag=as742967fa'

Провайдер говорит, что в поле Contact стоит значение <sip:5555555@111.111.111.111:5088> а должно быть <sip:5555555@91.221.102.250:5088> то есть ip должен стоять не мой, а провайдера.
Если установить значения fromuser и defaultuser на 5555555@91.221.102.250 приводит к тому, что в полях @ превращается в %40. И тоже звонок отбрасывается.

Подскажите, пожалуйста, что можно поменять, чтобы установить поле Сontact в требуемое значение. Заранее спасибо.

Re: Не правильное поле Contact

Добавлено: 18 сен 2015, 11:46
Vlad1983
в шаблоне CTtelecom

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

fromdomain=91.221.102.250
insecure=port,invite
Contact ни при чем

Re: Не правильное поле Contact

Добавлено: 18 сен 2015, 11:50
ded
Судя по вашему конфигу должно быть

exten => _9ZXXXXXX,1,Noop();
same= n,Dial(SIP/6040264/${EXTEN:1},60,rTt)
same=> n,Hangup()

Re: Не правильное поле Contact

Добавлено: 18 сен 2015, 11:57
Vlad1983
ded +1

и не нужно называть пиры операторов цифрами хотя бы так
[ext-6040264](CTtelecom)

Re: Не правильное поле Contact

Добавлено: 18 сен 2015, 12:16
Volunteer
ded писал(а):Судя по вашему конфигу должно быть

exten => _9ZXXXXXX,1,Noop();
same= n,Dial(SIP/6040264/${EXTEN:1},60,rTt)
same=> n,Hangup()
Спасибо. Просто не везьде изменил на 555555 в конфиге.

Re: Не правильное поле Contact

Добавлено: 18 сен 2015, 12:16
Volunteer
Спасибо. Учту.

Re: Не правильное поле Contact

Добавлено: 18 сен 2015, 12:35
Volunteer
Vlad1983 писал(а):в шаблоне CTtelecom

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

fromdomain=91.221.102.250
insecure=port,invite
Contact ни при чем
Это что-нибудь изменить? Врят ли. Может есть мысли в чем может быть дело если не в контакте? Надо что-то мне провайдеру сказать что бы они пересмотрели свою позицию.

Re: Не правильное поле Contact

Добавлено: 18 сен 2015, 15:56
Zavr2008
У Вас - не авторизация по IP, поэтому незачем insecure=port,invite ставить,
а вот type=friend я бы на type=peer поменял и попробовал бы insecure=invite или вообще бы убрал insecure.

Поле Contact задается fromuser/fromdomain.
Можно, конечно, и явно прописать contact=5555555@91.221.102.250:5088 - но это не путь джедаев)

Re: Не правильное поле Contact

Добавлено: 21 сен 2015, 12:26
Volunteer
У Вас - не авторизация по IP, поэтому незачем insecure=port,invite ставить,
а вот type=friend я бы на type=peer поменял и попробовал бы insecure=invite или вообще бы убрал insecure.

Поле Contact задается fromuser/fromdomain.
Можно, конечно, и явно прописать contact=5555555@91.221.102.250:5088 - но это не путь джедаев)
В моем случае fromuser/fromdomen влияет только на поле FROM. Contact=55555... интересно но тоже не помогает.
выкладываю дебаг, может увидите, что-нибудь что не увидил я.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Using SIP RTP CoS mark 5
-- Executing [93338466@eat2fit:1] NoOp("SIP/777-00000012", "") in new stack
-- Executing [93338466@eat2fit:2] Dial("SIP/777-00000012", "SIP/5555555/3338466,60,rTt") in new stack
== Using SIP RTP CoS mark 5
Audio is at 13906
Adding codec ulaw to SDP
Adding codec alaw to SDP
Adding codec gsm to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (no NAT) to 91.221.102.250:5060:
INVITE sip:3338466@91.221.102.250 SIP/2.0
Via: SIP/2.0/UDP мой_адрес:5138;branch=z9hG4bK1fd79cbd
Max-Forwards: 70
From: "777" <sip:5555555@91.221.102.250:5138>;tag=as38c12b38
To: <sip:3338466@91.221.102.250>
Сontact: <sip:5555555@мой адрес:5138>
Call-ID: 4ed53582101447f6232407eb6498dd00@91.221.102.250
CSeq: 102 INVITE
User-Agent: Asterisk PBX 13.1.1
Date: Mon, 21 Sep 2015 05:58:31 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 288

v=0
o=root 1131194340 1131194340 IN IP4 мой адрес
s=Asterisk PBX 13.1.1
c=IN IP4 мой адрес
t=0 0
m=audio 13906 RTP/AVP 0 8 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=maxptime:150
a=sendrecv

---
-- Called SIP/5555555/3338466

<--- SIP read from UDP:91.221.102.250:5060 --->
SIP/2.0 403 Not relaying
Via: SIP/2.0/UDP мой адрес:5138;branch=z9hG4bK1fd79cbd;rport=5138
From: "777" <sip:55555555@91.221.102.250:5138>;tag=as38c12b38
To: <sip:3338466@91.221.102.250>;tag=3959d847d3e4e62c51373d6e4ab5cc7e.bbbe
Call-ID: 4ed53582101447f6232407eb6498dd00@91.221.102.250
CSeq: 102 INVITE
Server: kamailio (3.1.4 (i386/linux))
Content-Length: 0

<------------->
--- (8 headers 0 lines) ---
Transmitting (no NAT) to 91.221.102.250:5060:
ACK sip:3338466@91.221.102.250 SIP/2.0
Via: SIP/2.0/UDP мой_адрес:5138;branch=z9hG4bK1fd79cbd
Max-Forwards: 70
From: "777" <sip:5555555@91.221.102.250:5138>;tag=as38c12b38
To: <sip:3338466@91.221.102.250>;tag=3959d847d3e4e62c51373d6e4ab5cc7e.bbbe
Contact: <sip:5555555@мой_адрес:5138>
Call-ID: 4ed53582101447f6232407eb6498dd00@91.221.102.250
CSeq: 102 ACK
User-Agent: Asterisk PBX 13.1.1
Content-Length: 0


---
[2015-09-21 08:58:31] WARNING[5671][C-00000009]: chan_sip.c:23225 handle_response_invite: Received response: "Forbidden" from '"777" <sip:55555555@91.221.102.250:5138>;tag=as38c12b38'
Scheduling destruction of SIP dialog '4ed53582101447f6232407eb6498dd00@91.221.102.250' in 32000 ms (Method: INVITE)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [93338466@eat2fit:3] Hangup("SIP/777-00000012", "") in new stack
== Spawn extension (eat2fit, 93338466, 3) exited non-zero on 'SIP/777-00000012'
Really destroying SIP dialog '4ed53582101447f6232407eb6498dd00@91.221.102.250' Method: INVITE

Re: Не правильное поле Contact

Добавлено: 22 сен 2015, 14:58
Zavr2008
Алгоритм траблшутинга простой:

1. Запускаете X-lite на винде, в параллель Wireshark.
2. Регите вместо Астера эту учетку на X-lite
3. Пробуйте делать входящий и исходящий звонки.

Далее если п2 или п3 - не проходит => идете с матюками к прову.

в противном случае:
4. запускаете tcpdump -n -w /tmp/1.pcap -s 0 udp
5. запускаете Астер, пробуете звонить.
5а. сравниваете поля INVITE у входящего и исходящего звонков.

6. Сравниваете поля сообщений REGISTER и INVITE у X-lite и Asterisk.

Выложите сюда лабораторную работу, желательно без никчемных портянок