I've created a pull request on github.
https://github.com/BelledonneCommunications/belle-sip/pull/7

I would appreciate a review and merge.

Am Mi., 8. Apr. 2020 um 22:13 Uhr schrieb Waishon <[email protected]>:

> I've created a patch which fixes the "issue" and sent an
> contributor agreement to your sales department. Where do you want me to
> create a merge request? In your gitlab instance? However as a new user you
> don't have the permissions to create a fork of a project.
>
> Am Di., 7. Apr. 2020 um 14:32 Uhr schrieb Waishon <[email protected]>:
>
>> I just investigated the issue: Some providers tend to send the IPv6
>> address in the received parameter with square brackets some do not.
>> Currently linphone only handles the event without having square brackets:
>>
>> https://github.com/BelledonneCommunications/belle-sip/blob/master/src/grammars/belle_sip_message.g#L1933
>>
>> The problem is described in this rfc information.
>> https://tools.ietf.org/html/rfc5118#section-4.5
>>
>> LinPhone should handle both cases. A quick solution would be to add a "|
>> ipv6reference" in line 1933. I just tested it and both SIP providers with
>> or without brackets now works absolutely fine. However I don't know if
>> we're allowed to use ipv6reference here, because it seems to be a function
>> and not a simple grammar rule like ipv6address or ipv4address. Maybe
>> someone can confirm if this would be a correct fix so that I can create a
>> pull request.
>>
>> Am Mo., 6. Apr. 2020 um 23:48 Uhr schrieb Waishon <[email protected]>:
>>
>>> Hey there,
>>>
>>> I'm currently trying to connect to a SIP server using IPv6, which fails.
>>>
>>> Linphone fails to decode the IPv6 address sent back in the Via header of
>>> the 401 Unauthorized reply (after first REGISTER request). The IPv6 is in
>>> the "URL encoded" format with squared brackets: [2000:abc::1]:5060. There
>>> seems to be an issue in the
>>> protocol definition where an IPv6 address isn't allowed to contain
>>> squared brackets.
>>>
>>> https://github.com/BelledonneCommunications/belle-sip/blob/master/src/grammars/belle_sip_message.g#L1933
>>>
>>> Which is used here:
>>>
>>> https://github.com/BelledonneCommunications/belle-sip/blob/master/src/grammars/belle_sip_message.g#L1412
>>>
>>> The following error is shown in the log when this parsing error occurrs:
>>>
>>> 2020-04-06 17:02:35:725 MESSAGE 
>>> [org.antlr.runtime.MismatchedTokenException] reason [1342:1: via_params : ( 
>>> via_received[$header_via::current] | 
>>> generic_param[BELLE_SIP_PARAMETERS($header_via::current)] );]
>>> 2020-04-06 17:02:35:725 ERROR header_via parser error for [Via:SIP/2.0/UDP 
>>> [2001:470:xxx:xxx::b56b]:5060;branch=z9hG4bK.XtPlwI23x;rport=5060;received=[2001:470:xxx:xxx::b56b]]
>>> 2020-04-06 17:02:35:726 MESSAGE channel [0x1b7a4f0] [563] bytes parsed
>>> 2020-04-06 17:02:35:727 ERROR channel [0x1b7a4f0]: no via in response.
>>> 2020-04-06 17:02:35:727 WARNING Response has no via.
>>> 2020-04-06 17:02:35:727 WARNING Discarding stateless response [401]
>>>
>>> I'm using the latest flatpak version of Linphone on Ubuntu 19.10:
>>> Desktop 4.1.1 - Qt5.9.0
>>> Core 3.12.0
>>>
>>> This bug is very annoying, because multiple SIP providers do support
>>> IPv6 and we would like to use the advantages of IPv6 SIP, so disabling IPv6
>>> isn't an option :)
>>>
>>> Thank you very much in advance.
>>>
>>> Gruß
>>> Sören
>>>
>>
_______________________________________________
Linphone-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/linphone-users

Reply via email to