Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chat Groups including external participants is impossible #199

Open
Gorbas opened this issue Oct 18, 2024 · 6 comments
Open

Chat Groups including external participants is impossible #199

Gorbas opened this issue Oct 18, 2024 · 6 comments

Comments

@Gorbas
Copy link

Gorbas commented Oct 18, 2024

Problem description

When I try to create a new Chat Group that includes "external" SIP addresses using my Linphone clone app, I see that Flexisip Proxy forwards the SIP messages to my external SIP server and my SIP server replies back with "OK" and "NOTIFY" messages. However, the Linphone app fails to create the group.

Is there anything that I am missing in my configuration or in the exchanged messages?

SETUP

I have setup my Flexisip server using two domains:

  • siptst.mydomain.com for the "internal" SIP accounts that I store in the Flexisip database
  • extsip.mydomain.com for the "external" SIP accounts that I manage through a separate system.

The "external" SIP accounts will be managed by a separate SIP service that listens on port 6060 of the same VM as Flexisip.

I have also configured the follwoing Flexisip route (routes.conf), so that Flexisip Proxy forwards the SIP messages to my external SIP server:

<sip:127.0.0.1:6060;tansport=tcp> to.uri.domain == 'extsip.mydomain.com'

EXCHANGED MESSAGES

Flexisip Proxy forward to my external SIP

SUBSCRIBE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP siptst.mydomain.com;rport=5060;branch=z9hG4bK.r6Fp2HSB5F0FjpZUprFjU942QF;received=5.78.111.77
Via: SIP/2.0/TCP siptst.mydomain.com:6064;alias;branch=z9hG4bK.D85AAHnO1;rport=57532;received=5.78.111.77
Record-Route:  <sip:siptst.mydomain.com:5060;lr>,  <sip:siptst.mydomain.com:5060;transport=tcp;lr>
From:  <sip:[email protected]>;tag=LUE6Qk12N
To:  <sip:[email protected]>
CSeq: 20 SUBSCRIBE
Call-ID: wqXGL5P6GC
Max-Forwards: 69
Supported: replaces, outbound, gruu, path
Event: reg
Expires: 600
Contact:  <sip:5.78.111.77:57532;transport=tcp>;+org.linphone.specs="ephemeral/1.1,groupchat/1.2"
Accept: application/reginfo+xml
User-Agent: Flexisip-conference/2.4.0-beta-113-g9691f2da
Content-Length: 0
Route:  <sip:127.0.0.1:6060;tansport=tcp;lr>

My external SIP sends back to Flexisip PROXY [200 OK]

SIP/2.0 200 OK
Via: SIP/2.0/UDP siptst.mydomain.com;rport=5060;branch=z9hG4bK.r6Fp2HSB5F0FjpZUprFjU942QF;received=5.78.111.77
Via: SIP/2.0/TCP siptst.mydomain.com:6064;alias;branch=z9hG4bK.D85AAHnO1;rport=57532;received=5.78.111.77
To:  <sip:[email protected]>;tag=456789abcdef
From:  <sip:[email protected]>;tag=LUE6Qk12N
Call-ID: wqXGL5P6GC
CSeq: 20 SUBSCRIBE
Record-Route:  <sip:siptst.mydomain.com:5060;lr>,  <sip:siptst.mydomain.com:5060;transport=tcp;lr>
Expires: 3600
Content-Length: 0

My external SIP sends back to Flexisip PROXY [NOTIFY]

NOTIFY sip:[email protected] SIP/2.0
Via: SIP/2.0/TCP 127.0.0.1:6060;branch=z9hG4bK382149;received=5.78.111.77;rport=34272
Via: SIP/2.0/UDP siptst.mydomain.com;rport=5060;branch=z9hG4bK.FSaH1pHHrB4QtXD78av8pXre8H;received=5.78.111.77
Via: SIP/2.0/TCP siptst.mydomain.com:6064;alias;branch=z9hG4bK.3Xyuzp6pH;rport=35760;received=5.78.111.77
To: <sip:[email protected]>;tag=xhM01g2m2
From: <sip:[email protected]>;tag=456789abcdef
Call-ID: KuFq~s~QVS
CSeq: 1 NOTIFY
Contact: <sip:[email protected]>;+org.linphone.specs="conference/1.0,ephemeral/1.1,groupchat/1.2,lime"
Event: reg
Subscription-State: active;expires=3600
Content-Type: application/reginfo+xml
User-Agent: 4F SIP Bridge
Content-Length: 1092

<?xml version="1.0"?>
<reginfo xmlns="urn:ietf:params:xml:ns:reginfo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0" state="full">
    <registration aor="sip:[email protected]" id="af8c26cf62e5c62af32265fdb84ca2aec" state="active">
        <contact id="cf8c26cf62e5c62af32265fdb84ca2aec" state="active" event="registered" duration-registered="3600" q="0.8" expires="3600">
            <uri>sip:[email protected]</uri>
            <display-name>+12344051262</display-name>
            <unknown-param name="+org.linphone.specs">conference/1.0,ephemeral/1.1,groupchat/1.2</unknown-param>
        </contact>
    </registration>
</reginfo>
@Gorbas Gorbas changed the title How to create Chat Groups including external participants Chat Groups including external participants is impossible Oct 21, 2024
@Failxxx
Copy link
Contributor

Failxxx commented Oct 23, 2024

Hello @Gorbas,
Thank you for taking time to report a problem with Flexisip.

Here is the procedure to implement interoperability between two domains : documentation.
Can you please follow these instructions and let me know if it helped?

Sincerely,
Félix.

@Gorbas
Copy link
Author

Gorbas commented Oct 24, 2024

Thank you @Failxxx , I will test this approach and I will update you.

It should be noted that the "external" participants are not actual SIP Clients, but in fact an SIP Bridge will forward messages using Inbound & Outbound SMS/MMS

@Gorbas
Copy link
Author

Gorbas commented Oct 24, 2024

Hi @Failxxx ,

I checked that I already had applied this configuration.

Have you tested integration to external domains using RFC4579?

Is there something that I should include to my NOTIFY messages to make it work or could I somehow make Flexisip allow participation of any SIP address to group chats without checking that they are actually registered?

Sincerely,
George A.

@Failxxx
Copy link
Contributor

Failxxx commented Nov 7, 2024

Hi @Gorbas,
I confirm that Flexisip conference follows the concepts of RFC4579 and should support integration to external domains.

However, I would need more information to better understand the issue you are facing here. Did you find what is the problem? What is the cause of the failure to create a chat room?
Can you please provide more information?

Sincerely,
Félix.

@Gorbas
Copy link
Author

Gorbas commented Nov 7, 2024

@Failxxx I have postponed the implementation of Group Chat support for now. I will send you as soon as I will continue working on it.

May I keep this issue open?

Best,
George A.

@Failxxx
Copy link
Contributor

Failxxx commented Nov 7, 2024

Alright, no problem.
I also recommend you to get in touch with our commercial team : https://www.linphone.org/contact
We may have plans (support, Dev-assist, etc.) that would fit your needs in order to implement group chat support on your infrastructure.

Félix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants