BelledonneCommunications / linphone-desktop

Linphone is a free VoIP and video softphone based on the SIP protocol. Mirror of git://git.linphone.org/linphone-desktop.git
https://linphone.org/
GNU General Public License v3.0
414 stars 210 forks source link

[Bug]: Calls to user without vcard fail: The calling address is not an interpretable SIP address #787

Open systemcrash opened 1 year ago

systemcrash commented 1 year ago

Context

Cannot call from macOS when IPv6+TLS is set.

General information

macOS about: 13.5.2 (22G91)

Linphone about: Desktop 5.1.2 - Qt5.15.2 Core 5.2.97

Expected behaviour

Call out successfully :)

To Reproduce

  1. Register to SIP proxy.
  2. Go to call history, click on history with self
  3. attempt to call "self" (to call other endpoints logged into my account)

Additional context

...
[16:47:02:565][Info]Core:linphone: Creating listening point [0x6000024f3180] on [sip:[::0]:5060;transport=UDP]
[16:47:02:565][Info]Core:linphone: Creating listening point [0x6000024f3080] on [sip:[::0]:5060;transport=TCP]
[16:47:02:565][Info]Core:linphone: Creating listening point [0x6000024f3200] on [sip:[::0]:-1;transport=TLS]
...
[16:47:11:961][Info]Core:linphone: QT: Chat room selected : Subject : "" , Username: "paul" , GroupEnabled: false , isConference: false , isOneToOne: true , Encrypted: false , ephemeralEnabled: false , isAdmin: false , canHandleParticipants: false , isReadOnly: false , state: LinphoneEnums::ChatRoomStateCreated
[16:47:11:988][Info]Core:linphone: Start measurement of [Get call history 2.].
[16:47:11:990][Info]Core:linphone: Duration of [Get call history 2.]: 1ms.
...
[16:47:12:558][Warning]Core:linphone: QT: QQmlContext: Cannot set context object on invalid context.
[16:47:12:558][Warning]Core:linphone: QT: QQmlComponent: Cannot create a component in an invalid context
[16:47:14:475][Error]Core:linphone: QT: The calling address is not an interpretable SIP address:  ""

SDK logs URL

No response

systemcrash commented 1 year ago

Evidently THIS causes problems elsewhere (ZRTP? and not just in this case) in other operations:

[16:47:02:565][Info]Core:linphone: Creating listening point [0x6000024f3200] on [sip:[::0]:-1;transport=TLS]

Creating a vcard/contact for this contact suddenly makes the scenario work.

[17:02:20:906][Info]Core:linphone: QT: "Create detached vcard:" VcardModel(0x600002af2ee0)
[17:02:20:906][Info]Core:linphone: QT: "Add new sip address on vcard: `sip:paul@example.com` from `sip:paul@example.com`."
[17:02:22:252][Info]Core:linphone: channel [0x7f80bfbe8000]: keep alive sent to [TLS://--sip-proxy--:5061]
[17:02:22:271][Info]Core:linphone: Activity started
[17:02:22:271][Info]Core:linphone: channel [0x7f80bfbe8000]: starting recv background task with id=[c].
[17:02:22:271][Info]Core:linphone: channel [0x7f80bfbe8000]: ending recv background task with id=[c].
[17:02:22:271][Info]Core:linphone: Activity ended
[17:02:27:021][Info]Core:linphone: QT: "Create contact from vcard:" ContactModel(0x60000210b5d0) VcardModel(0x600002af2ee0)
[17:02:27:025][Info]Core:linphone: QT: "Add contact from vcard:" ContactModel(0x60000210b5d0) VcardModel(0x600002af2ee0)
[17:02:27:025][Info]Core:linphone: Updating friend list [0x6000003f9ba0](_default) subscriptions
[17:02:27:025][Info]Core:linphone: Updating friend list's [0x6000003f9ba0] friends subscribes
[17:02:29:637][Info]Core:linphone: New MediaSession [0x600009c35278] initialized (liblinphone version: 5.2.97)
[17:02:29:637][Info]Core:linphone: Media local-ip for streams advertised in SDP: --IPv6--
[17:02:29:637][Info]Core:linphone: Rtp bundle is disabled.
[17:02:29:637][Info]Core:linphone: Found media local-ip from signaling: --IPv6--
[17:02:29:637][Info]Core:linphone: Configured srtp crypto suite: AES_CM_128_HMAC_SHA1_80
[17:02:29:637][Info]Core:linphone: Configured srtp crypto suite: AES_CM_128_HMAC_SHA1_32
[17:02:29:637][Info]Core:linphone: Configured srtp crypto suite: AES_256_CM_HMAC_SHA1_80
[17:02:29:637][Info]Core:linphone: Configured srtp crypto suite: AES_256_CM_HMAC_SHA1_32
[17:02:29:637][Info]Core:linphone: Configured srtp crypto suite: AEAD_AES_128_GCM
[17:02:29:638][Info]Core:linphone: Configured srtp crypto suite: AEAD_AES_256_GCM
[17:02:29:639][Warning]Core:linphone: BctbxException occurred:
[17:02:29:640][Info]Core:linphone: [LIME]  /Users/buildbot/builds/V3JisSb9/1/BC/public/linphone-desktop/linphone-sdk/lime/src/lime_localStorage.cpp:269 Cannot find Lime User sip:paul@[--IPv6--] in DB while setting up identity key for ZRTP auxiliary secret
[17:02:29:640][Info]Core:linphone: stream#0 [audio] in state [Stopped]: multicast role is [inactive]
[17:02:29:640][Info]Core:linphone: RtpSession bound to [::0] ports [7078] [7079]
[17:02:29:640][Info]Core:linphone: Configured srtp crypto suite: AES_CM_128_HMAC_SHA1_80
[17:02:29:640][Info]Core:linphone: Configured srtp crypto suite: AES_CM_128_HMAC_SHA1_32
[17:02:29:640][Info]Core:linphone: Configured srtp crypto suite: AES_256_CM_HMAC_SHA1_80
[17:02:29:640][Info]Core:linphone: Configured srtp crypto suite: AES_256_CM_HMAC_SHA1_32
[17:02:29:640][Info]Core:linphone: Configured srtp crypto suite: AEAD_AES_128_GCM
[17:02:29:640][Info]Core:linphone: Configured srtp crypto suite: AEAD_AES_256_GCM
[17:02:29:640][Info]Core:linphone: Configured zrtp key agreement: 'MS_ZRTP_KEY_AGREEMENT_K255_KYB512'
[17:02:29:640][Info]Core:linphone: Creating ZRTP engine on rtp session [0x7f80b8bd9600] ssrc 0x97b1ff58
[17:02:29:641][Info]Core:linphone: rtp_session_enable_network_simulation:DISABLING NETWORK SIMULATION
[17:02:29:642][Info]Core:linphone: Setting DSCP to 46 for MSAudio stream.
[17:02:29:642][Info]Core:linphone: Created stream of type audio at index 0: stream#0 [audio] in state [Stopped]
[17:02:29:642][Info]Core:linphone: AudioStream[0x7f80bf6761c0]: mic is [enabled].
[17:02:29:642][Warning]Core:linphone: Could not apply gain on sent RTP packets: gain control wasn't activated. Use audio_stream_enable_gain_control() before starting the stream.
[17:02:29:642][Info]Core:linphone: [MS2AudioStream] setting type of soundcard 0x600001b50eb0 to voice
[17:02:29:642][Info]Core:linphone: [MS2AudioStream] setting type of soundcard 0x600001bbfb60 to voice
[17:02:29:642][Info]Core:linphone: [ToneManager] stopDtmfStream
[17:02:29:643][Info]Core:linphone: Linphone core [0x7f80b9809200] notified [call_created]
[17:02:29:643][Info]Core:linphone: CallSession [0x600009c35278] moving from state LinphoneCallIdle to LinphoneCallOutgoingInit
[17:02:29:643][Info]Core:linphone: Linphone core [0x7f80b9809200] notified [first_call_started]
[17:02:29:643][Info]Core:linphone: QT: "Update (`sip:paul@example.com`, `sip:paul@example.com`) from chat call."
[17:02:29:643][Info]Core:linphone: QT: "Add call:" "\"Paul\" <sip:paul@example.com>" "sip:paul@example.com"
[17:02:30:270][Info]Core:linphone: Linphone core [0x7f80b9809200] notified [call_state_changed]
[17:02:30:270][Info]Core:linphone: [ToneManager] stopDtmfStream
[17:02:30:270][Warning]Core:linphone: Fail to set IPv4 packet info on RTP socket: Invalid argument.
[17:02:30:270][Warning]Core:linphone: Fail to set IPv4 packet info on RTCP socket: Invalid argument.
[17:02:30:270][Info]Core:linphone: ICE state is IceStateNotActivated for stream#0 [audio] in state [Stopped]
[17:02:30:271][Info]Core:linphone: Contact has been fixed using proxy
[17:02:30:271][Info]Core:linphone: Setting contact address for session 0x7f80b821ea00 to <sip:paul@[--IPv6--]:54674;transport=tls>;message-expires=604800;+sip.instance="<urn:uuid:3f9512d8-fe8f-4711-95e6-4cbedf086a78>";+org.linphone.specs="lime";expires=3600
[17:02:30:271][Info]Core:linphone: ["Paul" <sip:paul@example.com>] calling [sip:paul@example.com] on op [0x7f80bf6bb790]
[17:02:30:271][Info]Core:linphone: Activity started
[17:02:30:271][Info]Core:linphone: transaction [0x6000003105b0]: starting transaction background task with id=[d].
[17:02:30:271][Info]Core:linphone: Changing [client] [INVITE] transaction [0x6000003105b0], from state [INIT] to [CALLING]
[17:02:30:271][Info]Core:linphone: channel [0x7f80bfbe8000]: message sent to [TLS://--sip-proxy--:5061], size: [1730] bytes
INVITE sip:paul@example.com SIP/2.0