652 просмотров
от (360 баллов) в категории Железо
редактировать от

Провайдер: pbx.nodex.
Регистрация успешно проходит (зарегистрирован в "Провайдеры телефонии")
При попытке внешнего вызова сервер провайдера требует дополнительную авторизацию, но MikoPBX ее не отправляет.

Пробовал добавлять в pjsip.conf

[SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-OUT]
type = auth
realm = REGISTRAR
username = ....
password = ....

Не помогло. Может быть это неправильно? Или бага?
Спасибо


Лог:

    -- Executing [s@lua_dial_create_chan:1] return("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "")

    -- Executing [s@dial_create_chan:2] Set("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "pt1c_is_dst=1") in new stack

    -- Executing [s@dial_create_chan:3] ExecIf("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "0?Set(PJSIP_HEADER(add,)=)") in new stack

    -- Executing [s@dial_create_chan:4] Set("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "__PT1C_SIP_HEADER=") in new stack

    -- Executing [s@dial_create_chan:5] Set("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "CHANNEL(hangup_handler_wipe)=hangup_handler,s,1") in new stack

    -- Executing [s@dial_create_chan:6] Return("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "") in new stack

  == Spawn extension (SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-incoming, 6010727, 1) exited non-zero on 'PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005'

    -- PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005 Internal Gosub(dial_create_chan,s,1) complete GOSUB_RETVAL=

    -- Called PJSIP/6010727@SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43

<--- Transmitting SIP request (940 bytes) to UDP:91.151.201.7:5060 --->

INVITE sip:6010727@pbx.nodex.ru:5060 SIP/2.0

Via: SIP/2.0/UDP 91.91.91.146:5060;rport;branch=z9hG4bKPj18f4ff64-e1bc-4cdc-94ae-edefbdc6e68b

From: <sip:78123820099@pbx.nodex.ru>;tag=660e48fc-9424-49b7-a5b8-c44f9c82262c

To: <sip:6010727@pbx.nodex.ru>

Contact: <sip:78123820099@91.91.91.146:5060>

Call-ID: 12c78a43-bc21-4310-9b5a-99f045c4eaec

CSeq: 28124 INVITE

Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, MESSAGE, REFER

Supported: replaces, norefersub, histinfo

Max-Forwards: 70

User-Agent: mikopbx-2021.4.175

Content-Type: application/sdp

Content-Length:   318

v=0

o=- 648775874 648775874 IN IP4 91.91.91.146

s=mikopbx

c=IN IP4 91.91.91.146

t=0 0

m=audio 18736 RTP/AVP 8 0 107 97 101

a=rtpmap:8 PCMA/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:107 opus/48000/2

a=rtpmap:97 iLBC/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

a=maxptime:20

a=sendrecv

<--- Received SIP response (551 bytes) from UDP:91.151.201.7:5060 --->

SIP/2.0 407 Proxy Authentication Required

Via: SIP/2.0/UDP 91.91.91.146:5060;rport=1025;branch=z9hG4bKPj18f4ff64-e1bc-4cdc-94ae-edefbdc6e68b;received=91.91.91.146

From: <sip:78123820099@pbx.nodex.ru>;tag=660e48fc-9424-49b7-a5b8-c44f9c82262c

To: <sip:6010727@pbx.nodex.ru>;tag=rbx0LOFbl8kHE8fhW5fJBxPEG_IeKwAq

Call-ID: 12c78a43-bc21-4310-9b5a-99f045c4eaec

CSeq: 28124 INVITE

Proxy-Authenticate: Digest realm="REGISTRAR", nonce="5705BB00"

Server: TS-v4.7.2-10

Reason: SIP;cause=407;text="Proxy Authentication Required"

Content-Length: 0

<--- Transmitting SIP request (424 bytes) to UDP:91.151.201.7:5060 --->

ACK sip:6010727@pbx.nodex.ru:5060 SIP/2.0

Via: SIP/2.0/UDP 91.91.91.146:5060;rport;branch=z9hG4bKPj18f4ff64-e1bc-4cdc-94ae-edefbdc6e68b

From: <sip:78123820099@pbx.nodex.ru>;tag=660e48fc-9424-49b7-a5b8-c44f9c82262c

To: <sip:6010727@pbx.nodex.ru>;tag=rbx0LOFbl8kHE8fhW5fJBxPEG_IeKwAq

Call-ID: 12c78a43-bc21-4310-9b5a-99f045c4eaec

CSeq: 28124 ACK

Max-Forwards: 70

User-Agent: mikopbx-2021.4.175

Content-Length:  0

    -- PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005 Internal Gosub(hangup_handler,s,1) start

    -- Executing [s@hangup_handler:1] NoOp("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "--- hangup - PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005 ---") in new stack

    -- Executing [s@hangup_handler:2] Gosub("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "hangup_chan,s,1") in new stack

    -- Executing [s@hangup_chan:1] UserEvent("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "CdrConnector,AgiData:eyJPTERfTElOS0VESUQiOiJtaWtvcGJ4LTE2NDgxMjY5NzguMyIsIlVOSVFVRUlEIjoibWlrb3BieC0xNjQ4MTI2OTc4LjNfODI4MDgzIiwiYWN0aW9uIjoiaGFuZ3VwX2NoYW4iLCJhZ2lfY2hhbm5lbCI6IlBKU0lQL1NJUC1QUk9WSURFUi0zNEY3Q0NGRTg3M0I5REFCRDkxQ0M4RDc1MzQyQ0I0My0wMDAwMDAwNSIsImFnaV90aHJlYWRpZCI6Im1pa29wYngtMTY0ODEyNjk3OS41XzUwMjg2NCIsImRpYWxzdGF0dXMiOiIiLCJkaWQiOiIiLCJlbmQiOiIyMDIyLTAzLTI0IDE2OjAyOjU5LjA5NyIsImxpbmtlZGlkIjoibWlrb3BieC0xNjQ4MTI2OTc4LjMiLCJzcmNfbnVtIjoiNjAxMDcyNyJ9")

    -- Executing [s@hangup_chan:1] return("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "")

    -- Executing [s@hangup_handler:3] Return("PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005", "") in new stack

  == Spawn extension (SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-incoming, 6010727, 1) exited non-zero on 'PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005'

    -- PJSIP/SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-00000005 Internal Gosub(hangup_handler,s,1) complete GOSUB_RETVAL=

  == Everyone is busy/congested at this time (1:0/0/1)

    -- Executing [6010727@SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-23-outgoing:12] GosubIf("PJSIP/111-00000003", "0?SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-outgoing-after-dial-custom,6010727,1") in new stack

    -- Executing [6010727@SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-23-outgoing:13] ExecIf("PJSIP/111-00000003", "0?Gosub(transfer_dial_hangup,6010727,1)") in new stack

    -- Executing [6010727@SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-23-outgoing:14] ExecIf("PJSIP/111-00000003", "0?Hangup()") in new stack

    -- Executing [6010727@SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-23-outgoing:15] ExecIf("PJSIP/111-00000003", "0?Busy()") in new stack

    -- Executing [6010727@SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-23-outgoing:16] Set("PJSIP/111-00000003", "pt1c_UNIQUEID=") in new stack

    -- Executing [6010727@SIP-PROVIDER-34F7CCFE873B9DABD91CC8D75342CB43-23-outgoing:17] Return("PJSIP/111-00000003", "") in new stack

    -- Executing [96010727@outgoing:7] ExecIf("PJSIP/111-00000003", "0?Hangup()") in new stack

    -- Executing [96010727@outgoing:8] ExecIf("PJSIP/111-00000003", "0?Gosub(transfer_dial_hangup,96010727,1)") in new stack

    -- Executing [96010727@outgoing:9] ExecIf("PJSIP/111-00000003", "0?AGI(check_redirect.php,)") in new stack

    -- Executing [96010727@outgoing:10] ExecIf("PJSIP/111-00000003", "0?Gosub(dial,96010727,1)") in new stack

    -- Executing [96010727@outgoing:11] Playback("PJSIP/111-00000003", "silence/2,noanswer") in new stack

    -- <PJSIP/111-00000003> Playing 'silence/2.gsm' (language 'ru-ru')

от (122 тыс. баллов)
Отправьте этот лог провайдеру. Ответ приложите тут.

Спросите "Что не так с INVITE". Мб у них есть пример настройки для Asterisk
от (360 баллов)
Их ответ такой:
"Вроде все нормально. Единственное, что в вашем INVITE есть в полее Allow: .. REGISTER ... и нашему сервере что-то не нравится. Больше мы помочь ничем не можем. У других все работает"

При этом на старом PBX (Elastics на SIP-е) все действиетльно работает без танцев (и работало несколько лет).
 

Попробую восстановить старый сервер и сделать звонок через него
от (122 тыс. баллов)

Больше мы помочь ничем не можем

Ммм. да. Сколько общался с разными провайдерами... такие вот крайне редко, но встречаются, обычно идут на встречу и анализируют логи. 
Если получится поднять старую АТС, то лучше снять логи через утилиту:
В идеале иметь два лога, один с рабочей конфигурации, другой, с нерабочей. Будем сравнивать. 
от (360 баллов)
Восстановил Elastics. Исходящие звонки работают...

  == Using SIP RTP CoS mark 5

Audio is at 10784

Adding codec 100004 (alaw) to SDP

Adding codec 100003 (ulaw) to SDP

Adding codec 100008 (g729) to SDP

Adding codec 100001 (g723) to SDP

Adding codec 100012 (g722) to SDP

Adding non-codec 0x1 (telephone-event) to SDP

Reliably Transmitting (NAT) to 91.151.201.7:5060:

INVITE sip:6010727@pbx.nodex.ru SIP/2.0

Via: SIP/2.0/UDP 91.91.91..146:5060;branch=z9hG4bK0ba59e0f;rport

Max-Forwards: 70

From: <sip:78123820099@91.91.91..146>;tag=as3f028b46

To: <sip:6010727@pbx.nodex.ru>

Contact: <sip:78123820099@91.91.91..146:5060>

Call-ID: 6dbc6c095104717d4af72f471f97c8c3@91.91.91..146:5060

CSeq: 102 INVITE

User-Agent: FPBX-2.11.0(11.20.0)

Date: Thu, 24 Mar 2022 13:45:04 GMT

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE

Supported: replaces, timer

Content-Type: application/sdp

Content-Length: 379

v=0

o=root 1085656493 1085656493 IN IP4 91.91.91..146

s=Asterisk PBX 11.20.0

c=IN IP4 91.91.91..146

t=0 0

m=audio 10784 RTP/AVP 8 0 18 4 9 101

a=rtpmap:8 PCMA/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:4 G723/8000

a=fmtp:4 annexa=no

a=rtpmap:9 G722/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

a=sendrecv

---

    -- Called SIP/Obit21/6010727

<--- SIP read from UDP:91.151.201.7:5060 --->

SIP/2.0 407 Proxy Authentication Required

Via: SIP/2.0/UDP 192.168.0.98:5060;branch=z9hG4bK0ba59e0f;rport=5060;received=192.168.0.98

From: <sip:78123820099@192.168.0.98:5060>;tag=as3f028b46

To: <sip:6010727@pbx.nodex.ru>;tag=mMNM5OFbl8kHE8fhW5fJBxPEMVJmXgAq

Call-ID: 6dbc6c095104717d4af72f471f97c8c3@91.91.91..146:5060

CSeq: 102 INVITE

Proxy-Authenticate: Digest realm="REGISTRAR", nonce="7B96DB2A"

Server: TS-v4.7.2-10

Reason: SIP;cause=407;text="Proxy Authentication Required"

Content-Length: 0

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

--- (10 headers 0 lines) ---

Transmitting (NAT) to 91.151.201.7:5060:

ACK sip:6010727@pbx.nodex.ru SIP/2.0

Via: SIP/2.0/UDP 91.91.91..146:5060;branch=z9hG4bK0ba59e0f;rport

Max-Forwards: 70

From: <sip:78123820099@91.91.91..146>;tag=as3f028b46

To: <sip:6010727@pbx.nodex.ru>;tag=mMNM5OFbl8kHE8fhW5fJBxPEMVJmXgAq

Contact: <sip:78123820099@91.91.91..146:5060>

Call-ID: 6dbc6c095104717d4af72f471f97c8c3@91.91.91..146:5060

CSeq: 102 ACK

User-Agent: FPBX-2.11.0(11.20.0)

Content-Length: 0

---

Audio is at 10784

Adding codec 100004 (alaw) to SDP

Adding codec 100003 (ulaw) to SDP

Adding codec 100008 (g729) to SDP

Adding codec 100001 (g723) to SDP

Adding codec 100012 (g722) to SDP

Adding non-codec 0x1 (telephone-event) to SDP

Reliably Transmitting (NAT) to 91.151.201.7:5060:

INVITE sip:6010727@pbx.nodex.ru SIP/2.0

Via: SIP/2.0/UDP 91.91.91..146:5060;branch=z9hG4bK453e2d05;rport

Max-Forwards: 70

From: <sip:78123820099@91.91.91..146>;tag=as3f028b46

To: <sip:6010727@pbx.nodex.ru>

Contact: <sip:78123820099@91.91.91..146:5060>

Call-ID: 6dbc6c095104717d4af72f471f97c8c3@91.91.91..146:5060

CSeq: 103 INVITE

User-Agent: FPBX-2.11.0(11.20.0)

Proxy-Authorization: Digest username="78123820099", realm="REGISTRAR", algorithm=MD5, uri="sip:6010727@pbx.nodex.ru", nonce="7B96DB2A", response="a8410668d3e1d10901d5f431a22b6d07"

Date: Thu, 24 Mar 2022 13:45:04 GMT

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE

Supported: replaces, timer

Content-Type: application/sdp

Content-Length: 379

v=0

o=root 1085656493 1085656494 IN IP4 91.91.91..146

s=Asterisk PBX 11.20.0

c=IN IP4 91.91.91..146

t=0 0

m=audio 10784 RTP/AVP 8 0 18 4 9 101

a=rtpmap:8 PCMA/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:4 G723/8000

a=fmtp:4 annexa=no

a=rtpmap:9 G722/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

a=sendrecv
от (360 баллов)
Конфиг транка там был простейший:

username=....
type=peer
secret=....
qualify=yes
nat=yes
insecure=port,invite
host=pbx.nodex.ru
dtmfmode=rfc2833
disallow=all
directmedia=no
allow=alaw,ulaw,g729,g711,g723,g722
от (122 тыс. баллов)
приложите дамп снятый через sngrep
от (122 тыс. баллов)

В идеале иметь два лога, один с рабочей конфигурации, другой, с нерабочей. Будем сравнивать. 

от (360 баллов)
Вы же видите скрытые комметарии, верно?
от (122 тыс. баллов)

скрытые вижу. 

выложите новый дамп "dump-working", так же как и с проблемным звонком звоните на номер 7XXXXXXX099

от (360 баллов)
7XXXXXXX099 - это наш номер с которого мы звоним
от (122 тыс. баллов)

откройте дамп ""dump-working"

from / to номер 4000 

state REJECTED. 

Вряд ли это успешный звонок на номер 6XXXX27

от (360 баллов)
Действительно в INVITE-е вызова разница только в значения Allow:

Не работает
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, MESSAGE, REFER

Работает:
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE

"лишний" REGISTER ?
от (360 баллов)

Нашел еще отличие. Miko на требование атворизации не добавляет заголовок:Proxy-Authorization:

А в INVITE-е Elastics-a он присутствует

Proxy-Authorization: Digest username="7812xxxxxx", realm="REGISTRAR", algorithm=MD5, uri="sip:6010727@pbx.nodex.ru", nonce="107C6055", response="e0af9687b7d8ce9d14ffda09c0c889e1"

от (360 баллов)
Нашел причину. Опция "Доверять этому провайдеру и принимать от него звонки без аутентификации" была включена.
Наверное имеет смысл изменить текст, так как и на исходящую связь данная опция влияет, что и смутило
от (122 тыс. баллов)
да, меня тоже смущает определение.
опция предназначена для варианта подключения "авторизация по IP", когда ни входящая ни исходящая авторизация НЕ используется.

1 Ответ

от (122 тыс. баллов)
выбран от
 
Лучший ответ

Помогло отключение опции "Доверять этому провайдеру и принимать от него звонки без аутентификации"

На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

Популярные теги

askozia входящие-вызовы настройка исходящие маршрутизация провайдер запись-разговоров входящие ivr исходящие-звонки обновление ошибка очередь провайдеры битрикс24 очередь-вызовов переадресация запись установка маршрут история-звонков mikopbx транк панель-телефонии-1с перевод-вызова перевод askozia7 askozia6 битрикс callerid интеграция голосовая-почта логи перехват-вызова ростелеком нерабочее-время факс модуль nat docker запись-разговора веб-интерфейс bitrix24 goip настройка-провайдер история диалплан почта журнал-звонков релиз gsm вызовы звонок внешние-номера web-интерфейс zabbix маршруты cdr sip панель pjsip переадресация-мобильный voicemail ascozia телефонная-книга аон мобильный звонков лицензирование вызовов редактор номер asterisk лицензия ami регистрация оповещения провайдеров время голосовая fax trunk разговоров группы-пользователей #mikopbx пропущенные-звонки донабор beeline monitoring тишина smtp cisco мобильные мультифон мегафон шлюз не-работает электронная-почта не-слышно-звук

2.8 тыс. вопросов

2.4 тыс. ответов

6.7 тыс. комментариев

465 тыс. пользователей

...