Hikvision DS-KD8003 SIP

Environment:

Asterisk server 13.8.3 (IP 192.168.22.196)
Hikvision DS-KD8003 is registered to the Asterisk ID 7000 (IP 192.168.22.100)
Windows MikroSIP Client is registered to the Asterisk ID 7100 (IP 192.168.22.20)

Issue description:
Call is automaticaly ended after 10s (Can ansver, can talk - everythink is OK)
(Without function Answer() Call is automaticaly ended after 90s (Can ansver, can talk - everythink is OK))
Aftre 10s Sound is playing “Subscriber you have dialed is not available now. Please dial later”

Conclusion:
From Hikvision support guys were connected to my DS-KD8003
After investigating SIP protocol between Hikvision and Asterisk the conclusion are:
Asterisk SIP protocol mismatch with Hikvision
According to Hikvision support there are problems with steps 5-6

For Hikvision SIP must work like this workflow:

1 Invite Hikvision → Asterisk
2 Invite Asterisk → MikroSIP Client
3 100 Trying Asterisk → Hikvision
4 100 Trying MikroSIP Client → Asterisk
5 180 Ringing MikroSIP Client → Asterisk
6 180 Ringing Asterisk → Hikvision
7 200 OK MikroSIP Client → Asterisk
8 200 OK Asterisk → Hikvision
9 ACK Hikvision → Asterisk
10 ACK Asterisk → MikroSIP Client
11 <—>
12 Invite (c=0.0.00.0) MikroSIP Client → Asterisk
13 Invite (c=0.0.00.0) Asterisk → Hikvision
14 200 OK Hikvision → Asterisk
15 200 OK Asterisk → MikroSIP Client
16 ACK MikroSIP Client → Asterisk
17 ACK Asterisk → Hikvision

Configuration:

pjsip.conf
;****************************
[transport-udp]
type = transport
protocol = udp
bind = 192.168.22.196:5065

[7000]
auth=7000
aors=7000
callerid = 7000 <7000>
type=endpoint
context=interaction
allow = !all, alaw, ulaw
direct_media=no
trust_id_outbound=yes
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
device_state_busy_at=1
dtmf_mode=rfc4733

[7000]
password = VmHik2022
username = 7000
type = auth
auth_type = userpass

[7000]
type = aor
max_contacts = 1

[7100]
auth=7100
aors=7100
callerid = 7100 <7100>
type=endpoint
context=interaction
allow = !all, alaw, ulaw
direct_media=no
trust_id_outbound=yes
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
device_state_busy_at=1
dtmf_mode=rfc4733

[7100]
password = VmHik2022
username = 7100
type = auth
auth_type = userpass

[7100]
type = aor
max_contacts = 1

extensions.conf
;****************************

[globals]
INTERNAL_DIAL_OPT=,30

[interaction]

exten => 7000,1,Answer()
same => n,Wait(1)
same => n,Dial(PJSIP/7000)
same => n,Hangup()

exten => 7100,1,Answer()
same => n,Wait(1)
same => n,Dial(PJSIP/7100)
same => n,Hangup()

Asterisk log:

Running as user ‘asterisk’
Running under group ‘asterisk’
Connected to Asterisk 13.18.3~dfsg-1ubuntu4 currently running on asterisk (pid = 1858)
Core debug is still 5.
== Setting global variable ‘SIPDOMAIN’ to ‘192.168.22.196’
– Executing [7100@interaction:1] Answer(“PJSIP/7000-00000014”, “”) in new stack
> 0x7fb2b8032890 – Strict RTP learning after remote address set to: 192.168.22.100:9654
> 0x7fb2b8032890 – Strict RTP switching to RTP target address 192.168.22.100:9654 as source
– Executing [7100@interaction:2] Ringing(“PJSIP/7000-00000014”, “2”) in new stack
– Executing [7100@interaction:3] Wait(“PJSIP/7000-00000014”, “1”) in new stack
– Executing [7100@interaction:4] Dial(“PJSIP/7000-00000014”, “PJSIP/7100”) in new stack
– Called PJSIP/7100
– PJSIP/7100-00000015 is ringing
> 0x7fb2b8032890 – Strict RTP learning complete - Locking on source address 192.168.22.100:9654
> 0x7fb2b805eba0 – Strict RTP learning after remote address set to: 192.168.5.20:4022
– PJSIP/7100-00000015 answered PJSIP/7000-00000014
– Channel PJSIP/7100-00000015 joined ‘simple_bridge’ basic-bridge <04ee2fe1-f2cd-4b75-abd4-195683b384dc>
– Channel PJSIP/7000-00000014 joined ‘simple_bridge’ basic-bridge <04ee2fe1-f2cd-4b75-abd4-195683b384dc>
> 0x7fb2b805eba0 – Strict RTP switching to RTP target address 192.168.5.20:4022 as source
> 0x7fb2b805eba0 – Strict RTP learning complete - Locking on source address 192.168.5.20:4022
– Channel PJSIP/7000-00000014 left ‘simple_bridge’ basic-bridge <04ee2fe1-f2cd-4b75-abd4-195683b384dc>
– Channel PJSIP/7100-00000015 left ‘simple_bridge’ basic-bridge <04ee2fe1-f2cd-4b75-abd4-195683b384dc>
== Spawn extension (interaction, 7100, 4) exited non-zero on ‘PJSIP/7000-00000014’

What does ASK mean? (On second thoughts, they are probably meant to be ACK’s.)

There are no BYE’s in your trace. The call is still up at the point at which the capture was done.

Generally one needs the full SIP dialogue, not just a summary of the first lines.

Asterisk 13 is no longer supported.

The same is and with Asterisk v18.13.0
As I tested two version and 13 was last one - I will added logs from v13

This is workflow I got from Hikvision support

If Invite(c=0.0.0.0) means re-INVITE with SDP c= line set to 0.0.0.0, that’s an old fashioned way of putting a call on hold. Again, the full “pjsip set logger on” output, from Asterisk, is what we really need. Also, please use the full log file, not the console screen, as it contains important timing information which isn’t, normally, output to the screen.

I assume 通话 refers to RTP. If the arrow is correct, that is direct media, which I find strange, as I’d expect Asterisk to start without it, then renegotiate for it.

asterisk -r
Asterisk 18.13.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 18.13.0 currently running on vmtools (pid = 4125)
Parsing /etc/asterisk/logger.conf
Core debug is still 5.
vmtools*CLI> pjsip set logger on
PJSIP Logging enabled
<--- Received SIP request (745 bytes) from UDP:192.168.22.100:5060 --->
INVITE sip:7100@192.168.5.23:5065 SIP/2.0
Max-Forwards: 20
Via: SIP/2.0/UDP 192.168.22.100:5060;rport;branch=z9hG4bK1653231384
From: "Test-SIP" <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:7100@192.168.5.23:5065>
Call-ID: 1482554718@192.168.22.100
CSeq: 311 INVITE
User-Agent: YATE/5.5.0
Contact: <sip:7000@192.168.22.100:5060>
Allow: ACK, INVITE, BYE, CANCEL, MESSAGE, OPTIONS, INFO
Content-Type: application/sdp
Content-Length: 292

v=0
o=yate 1657182576 1657182576 IN IP4 192.168.22.100
s=SIP Call
c=IN IP4 192.168.22.100
t=0 0
m=audio 9654 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
m=video 9856 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4D001F; packetization-mode=1

<--- Transmitting SIP response (486 bytes) to UDP:192.168.22.100:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.22.100:5060;rport=5060;received=192.168.22.100;branch=z9hG4bK1653231384
Call-ID: 1482554718@192.168.22.100
From: "Test-SIP" <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:7100@192.168.5.23>;tag=z9hG4bK1653231384
CSeq: 311 INVITE
WWW-Authenticate: Digest realm="asterisk",nonce="1657171781/c4b0d7ae3d3ac76c2f9330affe1906e3",opaque="67ddeaca6df7dc07",algorithm=MD5,qop="auth"
Server: Asterisk PBX 18.13.0
Content-Length:  0


<--- Received SIP request (379 bytes) from UDP:192.168.22.100:5060 --->
ACK sip:7100@192.168.5.23:5065 SIP/2.0
Via: SIP/2.0/UDP 192.168.22.100:5060;rport;branch=z9hG4bK1653231384
From: "Test-SIP" <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:7100@192.168.5.23:5065>;tag=z9hG4bK1653231384
Call-ID: 1482554718@192.168.22.100
CSeq: 311 ACK
Max-Forwards: 20
Contact: <sip:7000@192.168.22.100:5060>
User-Agent: YATE/5.5.0
Content-Length: 0


<--- Received SIP request (1042 bytes) from UDP:192.168.22.100:5060 --->
INVITE sip:7100@192.168.5.23:5065 SIP/2.0
Max-Forwards: 20
Via: SIP/2.0/UDP 192.168.22.100:5060;rport;branch=z9hG4bK1754155801
From: "Test-SIP" <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:7100@192.168.5.23:5065>
Call-ID: 1482554718@192.168.22.100
User-Agent: YATE/5.5.0
Contact: <sip:7000@192.168.22.100:5060>
Allow: ACK, INVITE, BYE, CANCEL, MESSAGE, OPTIONS, INFO
CSeq: 312 INVITE
Authorization: Digest username="7000", realm="asterisk", nonce="1657171781/c4b0d7ae3d3ac76c2f9330affe1906e3", uri="sip:7100@192.168.5.23:5065", response="958e0952be2b415db6b36ee0e144d051", algorithm=MD5, opaque="67ddeaca6df7dc07", qop=auth, nc=00000139, cnonce="bfed27054ed21431b87b1d3db79183d5"
Content-Type: application/sdp
Content-Length: 292

v=0
o=yate 1657182576 1657182576 IN IP4 192.168.22.100
s=SIP Call
c=IN IP4 192.168.22.100
t=0 0
m=audio 9654 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
m=video 9856 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4D001F; packetization-mode=1

<--- Transmitting SIP response (312 bytes) to UDP:192.168.22.100:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.22.100:5060;rport=5060;received=192.168.22.100;branch=z9hG4bK1754155801
Call-ID: 1482554718@192.168.22.100
From: "Test-SIP" <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:7100@192.168.5.23>
CSeq: 312 INVITE
Server: Asterisk PBX 18.13.0
Content-Length:  0


    -- Executing [7100@interaction:1] Answer("PJSIP/7000-00000006", "3") in new stack
       > 0x7f16fc016d70 -- Strict RTP learning after remote address set to: 192.168.22.100:9654
<--- Transmitting SIP response (835 bytes) to UDP:192.168.22.100:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.22.100:5060;rport=5060;received=192.168.22.100;branch=z9hG4bK1754155801
Call-ID: 1482554718@192.168.22.100
From: "Test-SIP" <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:7100@192.168.5.23>;tag=847dc748-d5c9-4b83-9e96-5b6d1f7a411f
CSeq: 312 INVITE
Server: Asterisk PBX 18.13.0
Contact: <sip:192.168.5.23:5065>
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub
Content-Type: application/sdp
Content-Length:   259

v=0
o=- 1657182576 1657182578 IN IP4 192.168.5.23
s=Asterisk
c=IN IP4 192.168.5.23
t=0 0
m=audio 17958 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv
m=video 0 RTP/AVP 96

<--- Received SIP request (684 bytes) from UDP:192.168.22.100:5060 --->
ACK sip:192.168.5.23:5065 SIP/2.0
Via: SIP/2.0/UDP 192.168.22.100:5060;rport;branch=z9hG4bK307289987
From: "Test-SIP" <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:192.168.5.23:5065>;tag=847dc748-d5c9-4b83-9e96-5b6d1f7a411f
Call-ID: 1482554718@192.168.22.100
CSeq: 312 ACK
Max-Forwards: 20
Contact: <sip:7000@192.168.22.100:5060>
Authorization: Digest username="7000", realm="asterisk", nonce="1657171781/c4b0d7ae3d3ac76c2f9330affe1906e3", uri="sip:7100@192.168.5.23:5065", response="958e0952be2b415db6b36ee0e144d051", algorithm=MD5, opaque="67ddeaca6df7dc07", qop=auth, nc=00000139, cnonce="bfed27054ed21431b87b1d3db79183d5"
User-Agent: YATE/5.5.0
Content-Length: 0


       > 0x7f16fc016d70 -- Strict RTP switching to RTP target address 192.168.22.100:9654 as source
    -- Executing [7100@interaction:2] Dial("PJSIP/7000-00000006", "PJSIP/7100") in new stack
<--- Transmitting SIP request (936 bytes) to UDP:192.168.5.20:59116 --->
INVITE sip:7100@192.168.5.20:59116;ob SIP/2.0
Via: SIP/2.0/UDP 192.168.5.23:5065;rport;branch=z9hG4bKPj51b9af15-a89e-4d16-a562-5aea3603916d
From: "7000" <sip:7000@192.168.5.23>;tag=92664155-efbe-4dbf-8f40-a8e1c86cb6a3
To: <sip:7100@192.168.5.20;ob>
Contact: <sip:asterisk@192.168.5.23:5065>
Call-ID: 50c5505e-b238-45a1-8b35-84e5ad680454
CSeq: 16607 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
Max-Forwards: 70
User-Agent: Asterisk PBX 18.13.0
Content-Type: application/sdp
Content-Length:   261

v=0
o=- 1925014583 1925014583 IN IP4 192.168.5.23
s=Asterisk
c=IN IP4 192.168.5.23
t=0 0
m=audio 10310 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv

    -- Called PJSIP/7100
<--- Received SIP response (342 bytes) from UDP:192.168.5.20:59116 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.5.23:5065;rport=5065;received=192.168.5.23;branch=z9hG4bKPj51b9af15-a89e-4d16-a562-5aea3603916d
Call-ID: 50c5505e-b238-45a1-8b35-84e5ad680454
From: "7000" <sip:7000@192.168.5.23>;tag=92664155-efbe-4dbf-8f40-a8e1c86cb6a3
To: <sip:7100@192.168.5.20;ob>
CSeq: 16607 INVITE
Content-Length:  0


<--- Received SIP response (539 bytes) from UDP:192.168.5.20:59116 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.5.23:5065;rport=5065;received=192.168.5.23;branch=z9hG4bKPj51b9af15-a89e-4d16-a562-5aea3603916d
Call-ID: 50c5505e-b238-45a1-8b35-84e5ad680454
From: "7000" <sip:7000@192.168.5.23>;tag=92664155-efbe-4dbf-8f40-a8e1c86cb6a3
To: <sip:7100@192.168.5.20;ob>;tag=616355ab95454274b1a50658a3f36e39
CSeq: 16607 INVITE
Contact: "Ventmatika (20)" <sip:7100@192.168.5.20:59116;ob>
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Content-Length:  0


    -- PJSIP/7100-00000007 is ringing
<--- Received SIP response (985 bytes) from UDP:192.168.5.20:59116 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.5.23:5065;rport=5065;received=192.168.5.23;branch=z9hG4bKPj51b9af15-a89e-4d16-a562-5aea3603916d
Call-ID: 50c5505e-b238-45a1-8b35-84e5ad680454
From: "7000" <sip:7000@192.168.5.23>;tag=92664155-efbe-4dbf-8f40-a8e1c86cb6a3
To: <sip:7100@192.168.5.20;ob>;tag=616355ab95454274b1a50658a3f36e39
CSeq: 16607 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Contact: "Ventmatika (20)" <sip:7100@192.168.5.20:59116;ob>
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800;refresher=uac
Require: timer
Content-Type: application/sdp
Content-Length:   316

v=0
o=- 3866171382 3866171383 IN IP4 192.168.5.20
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 4010 RTP/AVP 0 101
c=IN IP4 192.168.5.20
b=TIAS:64000
a=rtcp:4011 IN IP4 192.168.5.20
a=sendrecv
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ssrc:1943894675 cname:1c575e79566168f6

       > 0x7f16fc03d800 -- Strict RTP learning after remote address set to: 192.168.5.20:4010
<--- Transmitting SIP request (425 bytes) to UDP:192.168.5.20:59116 --->
ACK sip:7100@192.168.5.20:59116;ob SIP/2.0
Via: SIP/2.0/UDP 192.168.5.23:5065;rport;branch=z9hG4bKPj07f2af5d-a6b8-4c07-a5fe-4aaf999a88d4
From: "7000" <sip:7000@192.168.5.23>;tag=92664155-efbe-4dbf-8f40-a8e1c86cb6a3
To: <sip:7100@192.168.5.20;ob>;tag=616355ab95454274b1a50658a3f36e39
Call-ID: 50c5505e-b238-45a1-8b35-84e5ad680454
CSeq: 16607 ACK
Max-Forwards: 70
User-Agent: Asterisk PBX 18.13.0
Content-Length:  0


    -- PJSIP/7100-00000007 answered PJSIP/7000-00000006
    -- Channel PJSIP/7100-00000007 joined 'simple_bridge' basic-bridge <32e448fd-6350-475e-89d2-80f38993c4e1>
    -- Channel PJSIP/7000-00000006 joined 'simple_bridge' basic-bridge <32e448fd-6350-475e-89d2-80f38993c4e1>
       > Bridge 32e448fd-6350-475e-89d2-80f38993c4e1: switching from simple_bridge technology to native_rtp
       > Locally RTP bridged 'PJSIP/7000-00000006' and 'PJSIP/7100-00000007' in stack
       > 0x7f16fc03d800 -- Strict RTP switching to RTP target address 192.168.5.20:4010 as source
       > 0x7f16fc016d70 -- Strict RTP learning complete - Locking on source address 192.168.22.100:9654
       > 0x7f16fc03d800 -- Strict RTP learning complete - Locking on source address 192.168.5.20:4010
<--- Received SIP request (459 bytes) from UDP:192.168.22.100:5060 --->
BYE sip:192.168.5.23:5065 SIP/2.0
Call-ID: 1482554718@192.168.22.100
From: <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:192.168.5.23:5065>;tag=847dc748-d5c9-4b83-9e96-5b6d1f7a411f
Reason: SIP;text="0"
P-RTP-Stat: PS=0,OS=0,PR=697,OR=111520,PL=0
Via: SIP/2.0/UDP 192.168.22.100:5060;rport;branch=z9hG4bK757502252
CSeq: 314 BYE
User-Agent: YATE/5.5.0
Max-Forwards: 70
Allow: ACK, INVITE, BYE, CANCEL, MESSAGE, OPTIONS, INFO
Content-Length: 0


<--- Transmitting SIP response (329 bytes) to UDP:192.168.22.100:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.22.100:5060;rport=5060;received=192.168.22.100;branch=z9hG4bK757502252
Call-ID: 1482554718@192.168.22.100
From: <sip:7000@192.168.22.100>;tag=1983638393
To: <sip:192.168.5.23>;tag=847dc748-d5c9-4b83-9e96-5b6d1f7a411f
CSeq: 314 BYE
Server: Asterisk PBX 18.13.0
Content-Length:  0


    -- Channel PJSIP/7000-00000006 left 'native_rtp' basic-bridge <32e448fd-6350-475e-89d2-80f38993c4e1>
  == Spawn extension (interaction, 7100, 2) exited non-zero on 'PJSIP/7000-00000006'
    -- Channel PJSIP/7100-00000007 left 'native_rtp' basic-bridge <32e448fd-6350-475e-89d2-80f38993c4e1>
<--- Transmitting SIP request (449 bytes) to UDP:192.168.5.20:59116 --->
BYE sip:7100@192.168.5.20:59116;ob SIP/2.0
Via: SIP/2.0/UDP 192.168.5.23:5065;rport;branch=z9hG4bKPje7b18216-1d43-4443-b17b-ffb2c95d6c25
From: "7000" <sip:7000@192.168.5.23>;tag=92664155-efbe-4dbf-8f40-a8e1c86cb6a3
To: <sip:7100@192.168.5.20;ob>;tag=616355ab95454274b1a50658a3f36e39
Call-ID: 50c5505e-b238-45a1-8b35-84e5ad680454
CSeq: 16608 BYE
Reason: Q.850;cause=16
Max-Forwards: 70
User-Agent: Asterisk PBX 18.13.0
Content-Length:  0


<--- Received SIP response (372 bytes) from UDP:192.168.5.20:59116 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.5.23:5065;rport=5065;received=192.168.5.23;branch=z9hG4bKPje7b18216-1d43-4443-b17b-ffb2c95d6c25
Call-ID: 50c5505e-b238-45a1-8b35-84e5ad680454
From: "7000" <sip:7000@192.168.5.23>;tag=92664155-efbe-4dbf-8f40-a8e1c86cb6a3
To: <sip:7100@192.168.5.20;ob>;tag=616355ab95454274b1a50658a3f36e39
CSeq: 16608 BYE
Content-Length:  0


vmtools*CLI> 

That doesn’t match the message sequence charts in that it has no re-INVITEs and is ended by an incoming BYE from the A side.

What could I ask Hikvision support in this situation?

Hello,
Right now KD8003 just base on standard SIP, test and in fact project usually just use phone or SIP phone, have not used PC SIP client, but as we checked in this PC client there is strange part just as top. We think for PC client or SIP phone, the standard SIP call process should without different, so for check more details maybe can try compare the interaction packet capture between the two method (call SIP phone and call PC client)
Thanks

Hello,

What information must I collect to help solve this issue?

I stopped looking because the information you were providing was inconsistent.

I do not understand what information is needed.
I can collect any available information
Just tell me what must I to do

Your log shows a successful incoming call leg from the YATE device to Asterisk, which Asterisk prematurely answers (although I don’t think that is a problem, as the call isn’t billed), The incoming leg requests both audio and video, but Asterisk refuses the video stream

This is followed by a successful outgoing leg to the pjmedia device, with only an audio stream offered.

The YATE device subsequently terminates the call normally.

There is no Ringing from Asterisk, because it has answered the call immediately, before trying to ring the B side. Although the B side send Ringing, it is now too late to send it on the A side.

I’m wondering if the inconsistency is because HikVision have provided an idealised example, rather than the actual call. Even so, it would only be a typical case, when dealing with a back to back user agent, like asterisk. There is never any guarantee that Ringing will be received.

You can maximise the chance that Ringing will be sent by changing the Answer to Noop, or you could fake the Riinging by calling Ringing(). However it is sent unreliably, so the network may still lose it.

I’d assume Asterisk has rejected the video stream because it has no compatible codecs configured. I’d also assume the rejection is the real problem here. I’m not sure what debugging chan_pjsip provides on codec negotiation, but you could try turning up the debugging level, if the reason isn’t obvious from the endpoint configuration.

Also, you should enable the full log and use that, not a screen scrape, as it contains more information than is normally output to the console.

from my expierence sip for
Hikvision is beta try first getting the latest version on the desktop platform
what did you configure over there ?