Нужна помощь с P-asserted-identity
Добавлено: 18 авг 2023, 17:54
Добрый день.
Прошу помощи, подскажите в каком направлении двигаться.
Есть cип транк между Siemens Hipath 4000v8 и Asterisk 18 (freepbx), драйвер PJSIP
Вот пример проблемы:
Когда я звоню с номера 4785 (hipath) на номер 5999 (Asterisk), то во время набора на дисплее телефона 4785 я ожидаю увидеть имя абонента 5999 (т.е. имя набранного номера).
За это отвечает, как я понимаю P-asserted-identity.
В настройках
Trust RPID/PAI = Yes
Send RPID/PAI = Send P-Asserted-Identity header
Получается следующая ситуация, что иногда я не вижу имя абонента 5999, а иногда вижу (раза со второго или третьего)
Внизу sip пакеты с астериска во время набора.
3 пакета Ringing идут подряд, так вот что я заметил: если ситуация такая как в этом примере, есть поле P-Asserted-Identity: "Астер ТЕСТ" <sip:5999@xxx.xx.97.50> только в 3 пакете Ringing, то имя абонента я не увижу.
Но, если будет поле P-Asserted-Identity: "Астер ТЕСТ" <sip:5999@xxx.xx.97.50> в первом пакете Ringing (ну и в третьем тоже), то я увижу имя абонента.
Это работает рандомно, никакой логики в этом я не вижу.
Может быть Астериск берет имя абонента, только, когда P-Asserted-Identity в первом пакете Ringing? Если это так, может есть способ заставить его брать из третьего пакета, потому что в третьем пакете всегда есть P-Asserted-Identity.
Или может быть можно заставить Астериск всегда обновлять P-Asserted-Identity, может он этого не делает? например не видит P-Asserted-Identity в 1 пакете и все?
INVITE sip:5999@xxx.xx.108.15:5060 SIP/2.0
Via: SIP/2.0/UDP внешний_ип:5060;rport;branch=z9hG4bKPj454cf4ac-86e0-436f-ae1d-37783ca83183
From: "CИMEHC TECT2" <sip:4785@xxx.xx.97.50>;tag=f5bec1f6-dae1-44fd-a98d-018b4548145a
To: <sip:5999@xxx.xx.108.15>
Contact: <sip:asterisk@внешний_ип:5060>
Call-ID: 143a55e5-11c7-4cf5-9bc9-a24c2066f1a5
CSeq: 7689 INVITE
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub, histinfo
Session-Expires: 1800
Min-SE: 90
P-Asserted-Identity: "CИMEHC TECT2" <sip:4785@xxx.xx.97.50>
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(20.4.0)
Content-Type: application/sdp
Content-Length: 339
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP xxx.xx.102.195;rport=5060;received=xxx.xx.102.195;branch=z9hG4bKa2512c008df069695
Call-ID: d8e6508ec1dd7f47
From: "CИMEHC TECT2" <sip:4785@xxx.xx.102.195>;tag=d5df83c24f
To: <sip:5999@xxx.xx.97.50>;tag=29651bfe-6eac-4666-8a82-b90a47a94dd0
CSeq: 10996 INVITE
Server: FPBX-16.0.40.4(20.4.0)
Contact: <sip:внешний_ип:5060>
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Content-Length: 0
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP внешний_ип:5060;rport=5060;received=xxx.xx.97.50;branch=z9hG4bKPj454cf4ac-86e0-436f-ae1d-37783ca83183
From: "CИMEHC TECT2" <sip:4785@xxx.xx.97.50>;tag=f5bec1f6-dae1-44fd-a98d-018b4548145a
To: <sip:5999@xxx.xx.108.15>;tag=3498779162
Call-ID: 143a55e5-11c7-4cf5-9bc9-a24c2066f1a5
CSeq: 7689 INVITE
Allow: INVITE, ACK, CANCEL, BYE, REFER, NOTIFY, UPDATE, INFO
Allow-Events: hold
Contact: <sip:5999@xxx.xx.108.15:5060;transport=udp>
Server: OpenStage_40_V3 R5.21.0 SIP 200904
Content-Length: 0
Content-Length: 0
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP xxx.xx.102.195;rport=5060;received=xxx.xx.102.195;branch=z9hG4bKa2512c008df069695
Call-ID: d8e6508ec1dd7f47
From: "CИMEHC TECT2" <sip:4785@xxx.xx.102.195>;tag=d5df83c24f
To: <sip:5999@xxx.xx.97.50>;tag=29651bfe-6eac-4666-8a82-b90a47a94dd0
CSeq: 10996 INVITE
Server: FPBX-16.0.40.4(20.4.0)
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Contact: <sip:внешний_ип:5060>
P-Asserted-Identity: "Астер ТЕСТ" <sip:5999@xxx.xx.97.50>
Content-Length: 0
Прошу помощи, подскажите в каком направлении двигаться.
Есть cип транк между Siemens Hipath 4000v8 и Asterisk 18 (freepbx), драйвер PJSIP
Вот пример проблемы:
Когда я звоню с номера 4785 (hipath) на номер 5999 (Asterisk), то во время набора на дисплее телефона 4785 я ожидаю увидеть имя абонента 5999 (т.е. имя набранного номера).
За это отвечает, как я понимаю P-asserted-identity.
В настройках
Trust RPID/PAI = Yes
Send RPID/PAI = Send P-Asserted-Identity header
Получается следующая ситуация, что иногда я не вижу имя абонента 5999, а иногда вижу (раза со второго или третьего)
Внизу sip пакеты с астериска во время набора.
3 пакета Ringing идут подряд, так вот что я заметил: если ситуация такая как в этом примере, есть поле P-Asserted-Identity: "Астер ТЕСТ" <sip:5999@xxx.xx.97.50> только в 3 пакете Ringing, то имя абонента я не увижу.
Но, если будет поле P-Asserted-Identity: "Астер ТЕСТ" <sip:5999@xxx.xx.97.50> в первом пакете Ringing (ну и в третьем тоже), то я увижу имя абонента.
Это работает рандомно, никакой логики в этом я не вижу.
Может быть Астериск берет имя абонента, только, когда P-Asserted-Identity в первом пакете Ringing? Если это так, может есть способ заставить его брать из третьего пакета, потому что в третьем пакете всегда есть P-Asserted-Identity.
Или может быть можно заставить Астериск всегда обновлять P-Asserted-Identity, может он этого не делает? например не видит P-Asserted-Identity в 1 пакете и все?
INVITE sip:5999@xxx.xx.108.15:5060 SIP/2.0
Via: SIP/2.0/UDP внешний_ип:5060;rport;branch=z9hG4bKPj454cf4ac-86e0-436f-ae1d-37783ca83183
From: "CИMEHC TECT2" <sip:4785@xxx.xx.97.50>;tag=f5bec1f6-dae1-44fd-a98d-018b4548145a
To: <sip:5999@xxx.xx.108.15>
Contact: <sip:asterisk@внешний_ип:5060>
Call-ID: 143a55e5-11c7-4cf5-9bc9-a24c2066f1a5
CSeq: 7689 INVITE
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub, histinfo
Session-Expires: 1800
Min-SE: 90
P-Asserted-Identity: "CИMEHC TECT2" <sip:4785@xxx.xx.97.50>
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(20.4.0)
Content-Type: application/sdp
Content-Length: 339
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP xxx.xx.102.195;rport=5060;received=xxx.xx.102.195;branch=z9hG4bKa2512c008df069695
Call-ID: d8e6508ec1dd7f47
From: "CИMEHC TECT2" <sip:4785@xxx.xx.102.195>;tag=d5df83c24f
To: <sip:5999@xxx.xx.97.50>;tag=29651bfe-6eac-4666-8a82-b90a47a94dd0
CSeq: 10996 INVITE
Server: FPBX-16.0.40.4(20.4.0)
Contact: <sip:внешний_ип:5060>
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Content-Length: 0
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP внешний_ип:5060;rport=5060;received=xxx.xx.97.50;branch=z9hG4bKPj454cf4ac-86e0-436f-ae1d-37783ca83183
From: "CИMEHC TECT2" <sip:4785@xxx.xx.97.50>;tag=f5bec1f6-dae1-44fd-a98d-018b4548145a
To: <sip:5999@xxx.xx.108.15>;tag=3498779162
Call-ID: 143a55e5-11c7-4cf5-9bc9-a24c2066f1a5
CSeq: 7689 INVITE
Allow: INVITE, ACK, CANCEL, BYE, REFER, NOTIFY, UPDATE, INFO
Allow-Events: hold
Contact: <sip:5999@xxx.xx.108.15:5060;transport=udp>
Server: OpenStage_40_V3 R5.21.0 SIP 200904
Content-Length: 0
Content-Length: 0
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP xxx.xx.102.195;rport=5060;received=xxx.xx.102.195;branch=z9hG4bKa2512c008df069695
Call-ID: d8e6508ec1dd7f47
From: "CИMEHC TECT2" <sip:4785@xxx.xx.102.195>;tag=d5df83c24f
To: <sip:5999@xxx.xx.97.50>;tag=29651bfe-6eac-4666-8a82-b90a47a94dd0
CSeq: 10996 INVITE
Server: FPBX-16.0.40.4(20.4.0)
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Contact: <sip:внешний_ип:5060>
P-Asserted-Identity: "Астер ТЕСТ" <sip:5999@xxx.xx.97.50>
Content-Length: 0