gpt4 book ai didi

debugging - Asterisk 到 Asterisk 调用 : 403 Forbidden

转载 作者:行者123 更新时间:2023-12-01 05:19:48 26 4
gpt4 key购买 nike

我有 2 台带有 Asterisk 的服务器:192.168.241.98 和 192.168.243.112。

第一个有有效的注册:

register => wagateway:qwerty@192.168.243.112:5060

命令行输出:
CLI> sip show registry
Host dnsmgr Username Refresh State Reg.Time
192.168.243.112:5060 N wagateway 105 Registered Wed, 26 Jun 2013 16:42:42

243.112 上的同行也很好:
CLI> sip show peers
Name/username Host Dyn Forcerport ACL Port Status Description
wacaller/wacaller 192.168.242.235 D a 5062 OK (13 ms)
wagateway/s 192.168.241.98 D a 5060 OK (1 ms)

243.112 上的 extensions.conf:
[watest]

exten => 123123123,1,NoOp()
exten => 123123123,n,Dial(SIP/wagateway)
exten => 123123123,n,Hangup()

243.112 上的 sip.conf:
[wacaller]
type=friend
secret=qwerty
host=dynamic
context=watest
qualify=yes
allow=ulaw
allow=alaw

[wagateway]
type=friend
secret=qwerty
fromuser=wagateway
host=dynamic
context=watest
qualify=yes
allow=ulaw
allow=alaw

现在我尝试用 wacaller 的 Grandstream 电话调用 123123123。

243.112 CLI 说:
[Jun 27 09:27:54] WARNING[20447][C-0000000b]: chan_sip.c:23213 handle_response_invite: Received response: "Forbidden" from '"WACaller" <sip:wagateway@192.168.243.112>;tag=as30b27eae'

在 243.112 上进行 Sip 调试:
<--- SIP read from UDP:192.168.242.235:5062 --->
INVITE sip:123123123@192.168.243.112 SIP/2.0
Via: SIP/2.0/UDP 192.168.242.235:5062;branch=z9hG4bK97733114;rport
From: "WACaller" <sip:wacaller@192.168.243.112>;tag=1014197566
To: <sip:123123123@192.168.243.112>
Call-ID: 298833112-5062-25@BJC.BGI.CEC.CDF
CSeq: 240 INVITE
Contact: "WACaller" <sip:wacaller@192.168.242.235:5062>
Max-Forwards: 70
User-Agent: Grandstream GXP1400 1.0.4.13
Privacy: none
P-Preferred-Identity: "WACaller" <sip:wacaller@192.168.243.112>
Supported: replaces, path, timer
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length: 412

v=0
o=wacaller 8000 8000 IN IP4 192.168.242.235
s=SIP Call
c=IN IP4 192.168.242.235
t=0 0
m=audio 5004 RTP/AVP 0 8 4 18 9 97 2 101
a=sendrecv
a=rtpmap:0 PCMU/8000
a=ptime:20
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:9 G722/8000
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=30
a=rtpmap:2 G726-32/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
<------------->
--- (16 headers 19 lines) ---
Sending to 192.168.242.235:5062 (no NAT)
Sending to 192.168.242.235:5062 (no NAT)
Using INVITE request as basis request - 298833112-5062-25@BJC.BGI.CEC.CDF
Found peer 'wacaller' for 'wacaller' from 192.168.242.235:5062

<--- Reliably Transmitting (no NAT) to 192.168.242.235:5062 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.242.235:5062;branch=z9hG4bK97733114;received=192.168.242.235;rport=5062
From: "WACaller" <sip:wacaller@192.168.243.112>;tag=1014197566
To: <sip:123123123@192.168.243.112>;tag=as5a3de236
Call-ID: 298833112-5062-25@BJC.BGI.CEC.CDF
CSeq: 240 INVITE
Server: Asterisk PBX SVN-trunk-r385782
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="4f84bef0"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '298833112-5062-25@BJC.BGI.CEC.CDF' in 6400 ms (Method: INVITE)

<--- SIP read from UDP:192.168.242.235:5062 --->
ACK sip:123123123@192.168.243.112 SIP/2.0
Via: SIP/2.0/UDP 192.168.242.235:5062;branch=z9hG4bK97733114;rport
From: "WACaller" <sip:wacaller@192.168.243.112>;tag=1014197566
To: <sip:123123123@192.168.243.112>;tag=as5a3de236
Call-ID: 298833112-5062-25@BJC.BGI.CEC.CDF
CSeq: 240 ACK
Content-Length: 0

<------------->
--- (7 headers 0 lines) ---

<--- SIP read from UDP:192.168.242.235:5062 --->
INVITE sip:123123123@192.168.243.112 SIP/2.0
Via: SIP/2.0/UDP 192.168.242.235:5062;branch=z9hG4bK1881861609;rport
From: "WACaller" <sip:wacaller@192.168.243.112>;tag=1014197566
To: <sip:123123123@192.168.243.112>
Call-ID: 298833112-5062-25@BJC.BGI.CEC.CDF
CSeq: 241 INVITE
Contact: "WACaller" <sip:wacaller@192.168.242.235:5062>
Authorization: Digest username="wacaller", realm="asterisk", nonce="4f84bef0", uri="sip:123123123@192.168.243.112", response="53cdb5b8c1822c80870faab15a6dc6d2", algorithm=MD5
Max-Forwards: 70
User-Agent: Grandstream GXP1400 1.0.4.13
Privacy: none
P-Preferred-Identity: "WACaller" <sip:wacaller@192.168.243.112>
Supported: replaces, path, timer
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length: 412

v=0
o=wacaller 8000 8000 IN IP4 192.168.242.235
s=SIP Call
c=IN IP4 192.168.242.235
t=0 0
m=audio 5004 RTP/AVP 0 8 4 18 9 97 2 101
a=sendrecv
a=rtpmap:0 PCMU/8000
a=ptime:20
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:9 G722/8000
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=30
a=rtpmap:2 G726-32/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
<------------->
--- (17 headers 19 lines) ---
Sending to 192.168.242.235:5062 (no NAT)
Using INVITE request as basis request - 298833112-5062-25@BJC.BGI.CEC.CDF
Found peer 'wacaller' for 'wacaller' from 192.168.242.235:5062
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 4
Found RTP audio format 18
Found RTP audio format 9
Found RTP audio format 97
Found RTP audio format 2
Found RTP audio format 101
Found audio description format PCMU for ID 0
Found audio description format PCMA for ID 8
Found audio description format G723 for ID 4
Found audio description format G729 for ID 18
Found audio description format G722 for ID 9
Found audio description format iLBC for ID 97
Found audio description format G726-32 for ID 2
Found audio description format telephone-event for ID 101
Capabilities: us - (gsm|ulaw|alaw|h263|testlaw), peer - audio=(g723|ulaw|alaw|g726|g729|ilbc|g722)/video=(nothing)/text=(nothing), combined - (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.242.235:5004
Looking for 123123123 in watest (domain 192.168.243.112)
list_route: route/path hop: <sip:wacaller@192.168.242.235:5062>

<--- Transmitting (no NAT) to 192.168.242.235:5062 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.242.235:5062;branch=z9hG4bK1881861609;received=192.168.242.235;rport=5062
From: "WACaller" <sip:wacaller@192.168.243.112>;tag=1014197566
To: <sip:123123123@192.168.243.112>
Call-ID: 298833112-5062-25@BJC.BGI.CEC.CDF
CSeq: 241 INVITE
Server: Asterisk PBX SVN-trunk-r385782
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Session-Expires: 1800;refresher=uas
Contact: <sip:123123123@192.168.243.112:5060>
Content-Length: 0


<------------>
Audio is at 17372
Adding codec 100003 (ulaw) to SDP
Adding codec 100004 (alaw) to SDP
Adding codec 100002 (gsm) to SDP
Adding codec 100017 (testlaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to 192.168.241.98:5060:
INVITE sip:s@192.168.241.98:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK67b16b32;rport
Max-Forwards: 70
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as3f5f372a
To: <sip:s@192.168.241.98:5060>
Contact: <sip:wagateway@192.168.243.112:5060>
Call-ID: 758899861bee35980dadd87912ef805a@192.168.243.112:5060
CSeq: 102 INVITE
User-Agent: Asterisk PBX SVN-trunk-r385782
Date: Wed, 26 Jun 2013 08:31:48 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 326

v=0
o=root 2059284449 2059284449 IN IP4 192.168.243.112
s=Asterisk PBX SVN-trunk-r385782
c=IN IP4 192.168.243.112
t=0 0
m=audio 17372 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=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

---

<--- SIP read from UDP:192.168.241.98:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK67b16b32;received=192.168.243.112;rport=5060
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as3f5f372a
To: <sip:s@192.168.241.98:5060>;tag=as22eeeac0
Call-ID: 758899861bee35980dadd87912ef805a@192.168.243.112:5060
CSeq: 102 INVITE
Server: Asterisk PBX 1.8.12.0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="603b4bbf"
Content-Length: 0

<------------->
--- (11 headers 0 lines) ---
Transmitting (NAT) to 192.168.241.98:5060:
ACK sip:s@192.168.241.98:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK67b16b32;rport
Max-Forwards: 70
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as3f5f372a
To: <sip:s@192.168.241.98:5060>;tag=as22eeeac0
Contact: <sip:wagateway@192.168.243.112:5060>
Call-ID: 758899861bee35980dadd87912ef805a@192.168.243.112:5060
CSeq: 102 ACK
User-Agent: Asterisk PBX SVN-trunk-r385782
Content-Length: 0


---
Audio is at 17372
Adding codec 100003 (ulaw) to SDP
Adding codec 100004 (alaw) to SDP
Adding codec 100002 (gsm) to SDP
Adding codec 100017 (testlaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to 192.168.241.98:5060:
INVITE sip:s@192.168.241.98:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK6cd34725;rport
Max-Forwards: 70
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as3f5f372a
To: <sip:s@192.168.241.98:5060>
Contact: <sip:wagateway@192.168.243.112:5060>
Call-ID: 758899861bee35980dadd87912ef805a@192.168.243.112:5060
CSeq: 103 INVITE
User-Agent: Asterisk PBX SVN-trunk-r385782
Authorization: Digest username="s", realm="asterisk", algorithm=MD5, uri="sip:s@192.168.241.98:5060", nonce="603b4bbf", response="059cae207fb81fb76ea9061f71258895"
Date: Wed, 26 Jun 2013 08:31:48 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 326

v=0
o=root 2059284449 2059284450 IN IP4 192.168.243.112
s=Asterisk PBX SVN-trunk-r385782
c=IN IP4 192.168.243.112
t=0 0
m=audio 17372 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=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

---

<--- SIP read from UDP:192.168.241.98:5060 --->
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK6cd34725;received=192.168.243.112;rport=5060
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as3f5f372a
To: <sip:s@192.168.241.98:5060>;tag=as22eeeac0
Call-ID: 758899861bee35980dadd87912ef805a@192.168.243.112:5060
CSeq: 103 INVITE
Server: Asterisk PBX 1.8.12.0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---
Transmitting (NAT) to 192.168.241.98:5060:
ACK sip:s@192.168.241.98:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK6cd34725;rport
Max-Forwards: 70
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as3f5f372a
To: <sip:s@192.168.241.98:5060>;tag=as22eeeac0
Contact: <sip:wagateway@192.168.243.112:5060>
Call-ID: 758899861bee35980dadd87912ef805a@192.168.243.112:5060
CSeq: 103 ACK
User-Agent: Asterisk PBX SVN-trunk-r385782
Content-Length: 0


---
[Jun 26 16:31:48] WARNING[20447][C-0000000a]: chan_sip.c:23213 handle_response_invite: Received response: "Forbidden" from '"WACaller" <sip:wagateway@192.168.243.112>;tag=as3f5f372a'
Scheduling destruction of SIP dialog '758899861bee35980dadd87912ef805a@192.168.243.112:5060' in 6400 ms (Method: INVITE)
Scheduling destruction of SIP dialog '298833112-5062-25@BJC.BGI.CEC.CDF' in 6400 ms (Method: INVITE)

在目标服务器上进行 Sip 调试:
<--- SIP read from UDP:192.168.243.112:5060 --->
INVITE sip:s@192.168.241.98:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK3159e4b1;rport
Max-Forwards: 70
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as30b27eae
To: <sip:s@192.168.241.98:5060>
Contact: <sip:wagateway@192.168.243.112:5060>
Call-ID: 5dc37059030845ca3d974c513993876d@192.168.243.112:5060
CSeq: 102 INVITE
User-Agent: Asterisk PBX SVN-trunk-r385782
Date: Thu, 27 Jun 2013 01:27:54 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 326

v=0
o=root 1301894386 1301894386 IN IP4 192.168.243.112
s=Asterisk PBX SVN-trunk-r385782
c=IN IP4 192.168.243.112
t=0 0
m=audio 15838 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=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
<------------->
--- (14 headers 14 lines) ---
Sending to 192.168.243.112:5060 (NAT)
Using INVITE request as basis request - 5dc37059030845ca3d974c513993876d@192.168.243.112:5060
Found peer 'wagateway' for 'wagateway' from 192.168.243.112:5060

<--- Reliably Transmitting (no NAT) to 192.168.243.112:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK3159e4b1;received=192.168.243.112;rport=5060
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as30b27eae
To: <sip:s@192.168.241.98:5060>;tag=as671c0824
Call-ID: 5dc37059030845ca3d974c513993876d@192.168.243.112:5060
CSeq: 102 INVITE
Server: Asterisk PBX 1.8.12.0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="0b63a660"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '5dc37059030845ca3d974c513993876d@192.168.243.112:5060' in 32000 ms (Method: INVITE)

<--- SIP read from UDP:192.168.243.112:5060 --->
ACK sip:s@192.168.241.98:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK3159e4b1;rport
Max-Forwards: 70
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as30b27eae
To: <sip:s@192.168.241.98:5060>;tag=as671c0824
Contact: <sip:wagateway@192.168.243.112:5060>
Call-ID: 5dc37059030845ca3d974c513993876d@192.168.243.112:5060
CSeq: 102 ACK
User-Agent: Asterisk PBX SVN-trunk-r385782
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from UDP:192.168.243.112:5060 --->
INVITE sip:s@192.168.241.98:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK40e56655;rport
Max-Forwards: 70
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as30b27eae
To: <sip:s@192.168.241.98:5060>
Contact: <sip:wagateway@192.168.243.112:5060>
Call-ID: 5dc37059030845ca3d974c513993876d@192.168.243.112:5060
CSeq: 103 INVITE
User-Agent: Asterisk PBX SVN-trunk-r385782
Authorization: Digest username="s", realm="asterisk", algorithm=MD5, uri="sip:s@192.168.241.98:5060", nonce="0b63a660", response="537f37fe2fb8d0fd40733cb190ea70c8"
Date: Thu, 27 Jun 2013 01:27:54 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 326

v=0
o=root 1301894386 1301894387 IN IP4 192.168.243.112
s=Asterisk PBX SVN-trunk-r385782
c=IN IP4 192.168.243.112
t=0 0
m=audio 15838 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=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
<------------->
--- (15 headers 14 lines) ---
Sending to 192.168.243.112:5060 (no NAT)
Using INVITE request as basis request - 5dc37059030845ca3d974c513993876d@192.168.243.112:5060
Found peer 'wagateway' for 'wagateway' from 192.168.243.112:5060

<--- Reliably Transmitting (no NAT) to 192.168.243.112:5060 --->
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK40e56655;received=192.168.243.112;rport=5060
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as30b27eae
To: <sip:s@192.168.241.98:5060>;tag=as671c0824
Call-ID: 5dc37059030845ca3d974c513993876d@192.168.243.112:5060
CSeq: 103 INVITE
Server: Asterisk PBX 1.8.12.0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '5dc37059030845ca3d974c513993876d@192.168.243.112:5060' in 32000 ms (Method: INVITE)

<--- SIP read from UDP:192.168.243.112:5060 --->
ACK sip:s@192.168.241.98:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.243.112:5060;branch=z9hG4bK40e56655;rport
Max-Forwards: 70
From: "WACaller" <sip:wagateway@192.168.243.112>;tag=as30b27eae
To: <sip:s@192.168.241.98:5060>;tag=as671c0824
Contact: <sip:wagateway@192.168.243.112:5060>
Call-ID: 5dc37059030845ca3d974c513993876d@192.168.243.112:5060
CSeq: 103 ACK
User-Agent: Asterisk PBX SVN-trunk-r385782
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---
dev-ast*CLI> sip set debug off
SIP Debugging Disabled

有什么帮助吗?

最佳答案

您遇到的另一个问题是循环,您将调用发送到您的网关,当调用到达您的网关时,您再次发送到网关,这就是为什么当您调用 SIP/wagateway(在wagateway)您没有分机,您的调用方式是客户端--->网关--->网关,尝试将您的分机更改为watest,如下所示

[watest]

exten => 123123123,1,NoOp(Call comming from ${CALLERID(all)})
exten => 123123123,n,Answer()
exten => 123123123,n,PlayBack(tt-monkeys)
exten => 123123123,n,Hangup()

关于debugging - Asterisk 到 Asterisk 调用 : 403 Forbidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17333642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com