首页 > 解决方案 > Twilio Android,接听电话时收到“onCancelledCallInvite:CallException code:31008”

问题描述

我已经实现了 Twilio Voice 并在 Android 上工作。但是,通常在接听电话后,我们会立即收到"onCancelledCallInvite: CallException code: 31008"。奇怪的是,连接保持活跃,与呼叫者的语音通信继续工作。问题是应用程序认为由于收到onCancelledCallInvite而呼叫已挂断,并且呼叫屏幕已关闭。这会创建一个仍在进行中的活动孤立呼叫。

该应用程序使用的是 Voice Android 版本 5.6.2。

要接听来电,我打电话:

activeCallInvite.accept(context, callListener);

下面是日志文件。日志中的注意事项:

D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): SipClient::disconnect
D/Twilio: [Core](517639025904): virtual void twilio::voice::SipCall::DisconnectCommand::executeCommand()

随后是:

D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): raiseCancelCallInvite

还可以在日志中看到 CancelCallInvite 之后呼叫继续。

完整日志:

我已经实现了 Twilio Voice 并在 Android 上工作。但是,通常在接听电话后,我们会立即收到"onCancelledCallInvite: CallException code: 31008"。奇怪的是,连接保持活跃,与呼叫者的语音通信保持活跃。问题是应用程序认为由于收到onCancelledCallInvite而呼叫已挂断,并且呼叫屏幕已关闭。这会创建一个仍在进行中的活动孤立呼叫。

该应用程序使用的是 Voice Android 版本 5.6.2。

要接听来电,我打电话:

activeCallInvite.accept(context, callListener);

下面是日志文件。日志中的注意事项:

D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): SipClient::disconnect
D/Twilio: [Core](517639025904): virtual void twilio::voice::SipCall::DisconnectCommand::executeCommand()

随后是:

D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): raiseCancelCallInvite

还可以在日志中看到 CancelCallInvite 之后呼叫继续。

完整日志:

D/TwilioVoicePlugin: Answering call
D/TwilioVoicePlugin: Answering call
D/Twilio: [Core](518822861256): API Call createAudioSource
    [Core](518822861256): API Call createAudioTrack
I/Twilio: [Core](518822861256): Adding audio track ...
D/Twilio: [Core](518822861256): API Call getName
    [Core](518822861256): API Call getTrackId
    [Core](518822861256): API Call isEnabled
D/Twilio: [Core](518822861256): API Call accept
D/Twilio: [Core](518822861256): accept
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): SipClient::disconnect
D/Twilio: [Core](517639025904): virtual void twilio::voice::SipCall::DisconnectCommand::executeCommand()
D/Twilio: [Core](518822861256): API Call getWebRtcTrack
D/Twilio: [Core](518822861256): API Call RTCIceServers
    [Core](518822861256): API Call RTCIceServer
I/Twilio: [Core](518822861256): Creating peer connection ...
I/Twilio: [Core](518822861256): Adding local stream to peer connection ...
D/Twilio: [Core](518822861256): Create initial local offer
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): onCreateSessionLocalDescription
D/CallInviteProxy: release
D/Twilio: [Core](518822861256): ~CallInviteImpl
    [Core](518822861256): ~CallerInfoImpl
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): OnSignalingChange
    [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): Signaling state: have-local-offer
D/ConnectivityReceiver: Network event received
    Ignoring network event, sticky broadcast
D/CallInviteProxy: onEvent
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): onSetSessionLocalDescription
D/Twilio: [Core](MediaFactoryImpl::networking 0x0x78a67ff800): void twilio::media::NetworkMonitor::onNetworksChanged()
    [Core](MediaFactoryImpl::networking 0x0x78a67ff800): Network Name: wlan0, Cost: 10, Type : Wifi, Preference : 127, Active : 1, id: 3, prefix : 192.168.2.x and key : wlan0%192.168.2.x/24
    [Core](MediaFactoryImpl::networking 0x0x78a67ff800): Network Name: lo, Cost: 0, Type : Loopback, Preference : 126, Active : 1, id: 2, prefix : ::1 and key : lo%::1/128
    [Core](MediaFactoryImpl::networking 0x0x78a67ff800): Network Name: lo, Cost: 0, Type : Loopback, Preference : 125, Active : 1, id: 1, prefix : 127.0.0.x and key : lo%127.0.0.x/8
D/Twilio: [Core](MediaFactoryImpl::networking 0x0x78a67ff800): New preferred network reported by manager: key: wlan0%192.168.2.x/24, type: Wifi, cost: 10, id: 3
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): Local SDP - v=0
    o=- 5771264047219087907 2 IN IP4 127.0.0.x
    s=-
    t=0 0
    a=group:BUNDLE audio
    a=msid-semantic: WMS 9fCAE34C40bC829B219de4fbd1BFea93
    m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:NyGP
    a=ice-pwd:9BOEneVWrZVH+BtFNTJIudM5
    a=ice-options:trickle
    a=fingerprint:sha-256 17:02:69:E9:B7:EE:72:47:0A:41:39:1F:3C:3F:FD:72:CE:04:28:28:91:0A:71:C9:FA:61:33:06:96:97:1D:4A
    a=setup:actpass
    a=mid:audio
    a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=sendrecv
    a=rtcp-mux
    a=rtpmap:111 opus/48000/2
    a=rtcp-fb:111 transport-cc
    a=fmtp:111 minptime=10;useinbandfec=1
    a=rtpmap:103 ISAC/16000
    a=rtpmap:104 ISAC/32000
    a=rtpmap:9 G722/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:8 PCMA/8000
    a=rtpmap:106 CN/32000
    a=rtpmap
    [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): twilio::voice::AsyncDnsResolver::AsyncDnsResolver(std::weak_ptr<DnsResolverObserver>)
    [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): AsyncDnsResolver resolving hostname = chunderm.gll.twilio.com
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): Gathered ICE candidate: candidate:926965826 1 udp 2122260223 192.168.2.x 38883 typ host generation 0 ufrag NyGP network-id 3 network-cost 10, id: SpXlrYSl
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): AsyncDnsResolver Resolved ip_addr = 54.85.119.44, error = 0
    [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): virtual void twilio::voice::SipClient::onResolveResult(twilio::voice::AsyncDnsResolver *, std::string, int)
    [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): onResolveResult for connect, hostname = sip:chunderm.gll.twilio.com:443;transport=tls, ip_addr = 54.85.119.44
    [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): New SipCall ..., this=0x78bc47dd00, handle = 4
I/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): Setting outbound proxy to: sip:54.85.119.44:443;transport=tls
D/CallInviteProxy: onEvent
D/EventPublisher: Start publishing events to : https://eventgw.twilio.com/v4/EndpointEvents
    {"name":"have-local-offer","group":"signaling-state","timestamp":"2021-03-03T02:49:46.289Z","level":"DEBUG","private":false,"payload_type":"application\/json","publisher":"twilio-voice-android","publisher_metadata":{"client_address":"FE80::EC6D:7AFF:FEE0:BB85","os_name":"android","os_version":"8.0.0","device_model":"SM-G935T","device_vendor":"samsung","device_type":"SM-G935T","cpu_architecture":"arm64-v8a","app_id":"com.MyApp.flutter","app_version":"0.1.0","app_build_number":"31","app_min_os_version":23,"app_target_os_version":30},"payload":{"timestamp_ms":1614739786285,"client_name":"5fc1a9b29d368c7292641c3e","call_sid":"CA335578454dc3db2d1f810944a6b51a97","message_sid":"RUc36021e53e6b591c645eb6d8f27fcd63","sdk_version":"5.6.2","platform":"android","direction":"INCOMING","selected_region":"gll"}}
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
D/EventPublisher: Start publishing events to : https://eventgw.twilio.com/v4/EndpointEvents
    {"name":"accepted-by-local","group":"connection","timestamp":"2021-03-03T02:49:46.307Z","level":"INFO","private":false,"payload_type":"application\/json","publisher":"twilio-voice-android","publisher_metadata":{"client_address":"FE80::EC6D:7AFF:FEE0:BB85","os_name":"android","os_version":"8.0.0","device_model":"SM-G935T","device_vendor":"samsung","device_type":"SM-G935T","cpu_architecture":"arm64-v8a","app_id":"com.MyApp.flutter","app_version":"0.1.0","app_build_number":"31","app_min_os_version":23,"app_target_os_version":30},"payload":{"timestamp_ms":1614739786301,"client_name":"5fc1a9b29d368c7292641c3e","call_sid":"CA335578454dc3db2d1f810944a6b51a97","message_sid":"RUc36021e53e6b591c645eb6d8f27fcd63","sdk_version":"5.6.2","platform":"android","direction":"INCOMING","selected_region":"gll"}}
D/CallInviteProxy: onEvent
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
D/CallInviteProxy: onEvent
D/EventPublisher: Start publishing events to : https://eventgw.twilio.com/v4/EndpointEvents
    {"name":"gathering","group":"ice-gathering-state","timestamp":"2021-03-03T02:49:46.325Z","level":"DEBUG","private":false,"payload_type":"application\/json","publisher":"twilio-voice-android","publisher_metadata":{"client_address":"FE80::EC6D:7AFF:FEE0:BB85","os_name":"android","os_version":"8.0.0","device_model":"SM-G935T","device_vendor":"samsung","device_type":"SM-G935T","cpu_architecture":"arm64-v8a","app_id":"com.MyApp.flutter","app_version":"0.1.0","app_build_number":"31","app_min_os_version":23,"app_target_os_version":30},"payload":{"timestamp_ms":1614739786319,"client_name":"5fc1a9b29d368c7292641c3e","call_sid":"CA335578454dc3db2d1f810944a6b51a97","message_sid":"RUc36021e53e6b591c645eb6d8f27fcd63","sdk_version":"5.6.2","platform":"android","direction":"INCOMING","selected_region":"gll"}}
D/Twilio: [Core](517639025904): mapToSipCall handle id is 1
D/Twilio: [Core](517639025904): casting handle id 1 to SipCall
    [Core](517639025904): onTerminated: reason 5, this=0x78bc47d300
    [Core](517639025904): onTerminated
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): raiseCancelCallInvite
D/Twilio: [Core](517639025904): ~SipCall(): 0x78bc47d300
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
    (HTTPLog)-Static: isSBSettingEnabled false
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): Gathered ICE candidate: candidate:3243252118 1 udp 1686052607 66.25.218.226 38883 typ srflx raddr 192.168.2.x rport 38883 generation 0 ufrag NyGP network-id 3 network-cost 10, id: I2J/daT2
D/CallInviteProxy: onEvent
D/CallInviteProxy: onEvent
D/EventPublisher: Response: 200 - OK
D/EventPublisher: Start publishing events to : https://eventgw.twilio.com/v4/EndpointEvents
    {"name":"ice-candidate","group":"ice-candidate","timestamp":"2021-03-03T02:49:46.343Z","level":"DEBUG","private":false,"payload_type":"application\/json","publisher":"twilio-voice-android","publisher_metadata":{"client_address":"FE80::EC6D:7AFF:FEE0:BB85","os_name":"android","os_version":"8.0.0","device_model":"SM-G935T","device_vendor":"samsung","device_type":"SM-G935T","cpu_architecture":"arm64-v8a","app_id":"com.MyApp.flutter","app_version":"0.1.0","app_build_number":"31","app_min_os_version":23,"app_target_os_version":30},"payload":{"timestamp_ms":1614739786333,"client_name":"5fc1a9b29d368c7292641c3e","call_sid":"CA335578454dc3db2d1f810944a6b51a97","message_sid":"RUc36021e53e6b591c645eb6d8f27fcd63","sdk_version":"5.6.2","platform":"android","direction":"INCOMING","selected_region":"gll","transport_id":"audio","is_remote":false,"ip":"192.168.2.34","port":38883,"protocol":"udp","candidate_type":"local","priority":2122260223,"url":"","deleted":false,"network-cost":10,"network-id":3,"related_port":0,"level":"DEBUG","related_address":"","network-type":"Wifi","name":"ice-candidate","tcp_type":""}}
D/EventPublisher: Response: 200 - OK
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
D/EventPublisher: Start publishing events to : https://eventgw.twilio.com/v4/EndpointEvents
    {"name":"ice-candidate","group":"ice-candidate","timestamp":"2021-03-03T02:49:46.385Z","level":"DEBUG","private":false,"payload_type":"application\/json","publisher":"twilio-voice-android","publisher_metadata":{"client_address":"FE80::EC6D:7AFF:FEE0:BB85","os_name":"android","os_version":"8.0.0","device_model":"SM-G935T","device_vendor":"samsung","device_type":"SM-G935T","cpu_architecture":"arm64-v8a","app_id":"com.MyApp.flutter","app_version":"0.1.0","app_build_number":"31","app_min_os_version":23,"app_target_os_version":30},"payload":{"timestamp_ms":1614739786381,"client_name":"5fc1a9b29d368c7292641c3e","call_sid":"CA335578454dc3db2d1f810944a6b51a97","message_sid":"RUc36021e53e6b591c645eb6d8f27fcd63","sdk_version":"5.6.2","platform":"android","direction":"INCOMING","selected_region":"gll","transport_id":"audio","is_remote":false,"ip":"66.25.218.226","port":38883,"protocol":"udp","candidate_type":"stun","priority":1686052607,"url":"stun:34.203.251.117:3478","deleted":false,"network-cost":10,"network-id":3,"related_port":38883,"level":"DEBUG","related_address":"192.168.2.34","network-type":"Wifi","name":"ice-candidate","tcp_type":""}}
D/EventPublisher: Response: 200 - OK
D/EventPublisher: Start publishing events to : https://eventgw.twilio.com/v4/EndpointEvents
    {"name":"complete","group":"ice-gathering-state","timestamp":"2021-03-03T02:49:46.398Z","level":"DEBUG","private":false,"payload_type":"application\/json","publisher":"twilio-voice-android","publisher_metadata":{"client_address":"FE80::EC6D:7AFF:FEE0:BB85","os_name":"android","os_version":"8.0.0","device_model":"SM-G935T","device_vendor":"samsung","device_type":"SM-G935T","cpu_architecture":"arm64-v8a","app_id":"com.MyApp.flutter","app_version":"0.1.0","app_build_number":"31","app_min_os_version":23,"app_target_os_version":30},"payload":{"timestamp_ms":1614739786394,"client_name":"5fc1a9b29d368c7292641c3e","call_sid":"CA335578454dc3db2d1f810944a6b51a97","message_sid":"RUc36021e53e6b591c645eb6d8f27fcd63","sdk_version":"5.6.2","platform":"android","direction":"INCOMING","selected_region":"gll"}}
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
E/PowerManager: WakeLock finalized while still held: flutter.twilio.wakelock:TAG
D/EventPublisher: Response: 200 - OK
D/EventPublisher: Response: 200 - OK
D/EventPublisher: Response: 200 - OK
D/Twilio: [Core](517643171056): mapToSipCall handle id is 1
    [Core](517643171056): casting handle id 1 to SipCall
    [Core](517643171056): virtual void twilio::voice::SipCall::onFailure(resip::ClientInviteSessionHandle, const resip::SipMessage &)
D/Twilio: [Core](517643171056): Received incoming SIP message from infra:
     SIP/2.0 410 Gone
    Via: SIP/2.0/TLS 192.168.2.x;received=66.25.218.226;branch=z9hG4bK-524287-1---4ef18fe6d5ee728a;rport=53761
    Contact: <sip:172.25.4.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=24354603_6772d868_b679c346-1ce5-43a2-9d27-1b1da25f6c36
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=26504677
    Call-ID: xC-6diTaJuSYY76Id55WVw..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA335578454dc3db2d1f810944a6b51a97
    X-Twilio-EdgeHost: ec2-54-85-119-44.compute-1.amazonaws.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
    [Core](517643171056): onFailure
    [Core](517643171056): mapToSipCall handle id is 1
    [Core](517643171056): casting handle id 1 to SipCall
    [Core](517643171056): onTerminated: reason 0, this=0x78bc47ce00
D/Twilio: [Core](517643171056): Received incoming SIP message from infra:
     SIP/2.0 410 Gone
    Via: SIP/2.0/TLS 192.168.2.x;received=66.25.218.226;branch=z9hG4bK-524287-1---4ef18fe6d5ee728a;rport=53761
    Contact: <sip:172.25.4.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=24354603_6772d868_b679c346-1ce5-43a2-9d27-1b1da25f6c36
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=26504677
    Call-ID: xC-6diTaJuSYY76Id55WVw..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA335578454dc3db2d1f810944a6b51a97
    X-Twilio-EdgeHost: ec2-54-85-119-44.compute-1.amazonaws.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
    [Core](517643171056): onTerminated
D/Twilio: [Core](MediaFactoryImpl::signaling 0x0x78a67ff800): raiseCancelCallInvite
D/Twilio: [Core](517643171056): ~SipCall(): 0x78bc47ce00
D/CallInviteProxy: onEvent
D/Twilio: [Core](517639025904): mapToSipCall handle id is 4
    [Core](517639025904): casting handle id 4 to SipCall
D/Twilio: [Core](517639025904): onNewSession:
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 192.168.2.x;received=66.25.218.226;branch=z9hG4bK-524287-1---402e10cecf0821ea;rport=53779
    Record-Route: <sip:172.18.10.x:10193;r2=on;transport=udp;ftag=cfed5cb9;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=cfed5cb9;lr>
    Contact: <sip:172.25.4.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=28038694_6772d868_ad31a15b-3d32-411e-a406-19783f7c8dc5
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=cfed5cb9
    Call-ID: _L5_J-dQSDSd9JQ33RRtSw..
    CSeq: 1 INVITE
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
    Content-Type: application/sdp
    Server: Twilio
    X-Twilio-CallSid: CA335578454dc3db2d1f810944a6b51a97
    X-Twilio-EdgeHost: ec2-54-85-119-44.compute-1.amazonaws.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 1045
    

标签: javaandroidtwiliovoip

解决方案


推荐阅读