Re: Kamailio /3CX
Asmaa BOUDDYACH via sr-users <[email protected]> Mon, 29 Jun 2026 17:05:04 +0200
| Newsgroups | gmane.comp.voip.ser |
|---|---|
| Message-ID | <CAFZyeg6zKPpuqCAZn=LQkw-JgrARDROQoDmFxxX6ddVp-JCJRA@mail.gmail.com> |
--===============1132970259== Content-Type: multipart/alternative; boundary="000000000000284df0065565c9dd" --000000000000284df0065565c9dd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Beno=C3=AEt, Thank you very much for your detailed and valuable feedback =E2=80=94 this = is exactly the kind of real-world experience I was looking for. I am currently deploying Kamailio as an SBC in front of a 3CX PBX for approximately 200 users, exposed to the Internet. Your insights are very helpful. Regarding the CSeq/UPDATE issue you mentioned, I would like to understand it better and implement your suggested workaround in my Kamailio configuration. Could you share more details on the following points: 1. How do you detect in Kamailio that the INVITE is coming from 3CX (via User-Agent inspection)? 2. What is the exact Kamailio configuration snippet to remove UPDATE from the Method list for 3CX dialogs? 3. Do you use the dialog module or a flag in the Record-Route to maintain this setting throughout the call? Also, thank you for sharing your 3CX trunk template =E2=80=94 I will test i= t in my environment and let you know the results. Best regards, Asmaa Le lun. 29 juin 2026 =C3=A0 16:32, Benoit Panizzon <[email protected]>= a =C3=A9crit : > Hi Asma > > > More specifically, can Kamailio be used as a SIP proxy/SBC in front > > of a 3CX PBX? I would be interested in hearing about any real-world > > deployments, best practices, or challenges you encountered. > > Sure, we are a Swiss Voice Service Provider (VSP) for (single > SIP account) residential and (SIP Trunking) business customers. The core > and registrar parts of our services is using Kamailio but we still > have commercial SBC in between kamailio and our customers and IC for > topology hiding and media handling and to get a different CallID on > each leg of a call. > > Also looping forwarded calls via an SBC to get a different CallID and > therefore a different dialogues and CDR for correct billing of all legs > involved in a call (imagine parallel forking a call to a customer's sip > device, to his holiday home phone abroad and to his mobile phone, I > need to know which one picked up the call for correct billing) > Kamailio not being an SBC therefore using the same CallID on all > branched legs sometimes is a bit of an extreme challenge. > > We have many, especially small business customers using 3CX. Our > office telephony with customer hotline, hunt-groups, IVR, time based > announcements and forwarding, and call queueing is running on a 3CX. > > Of course, it is up to you, how you configure trunking, what headers > you use etc. > Attached our 3CX template file we supply to our customers which works > for our set-up and with the way we use the different SIP headers, > especially when using clip-no-screening to use the original callerID > on a forwarded outbound leg (for which we use the PPI header). > > Challenges: > > * 3CX has very bad support, especially for voice service > provider - if you are not a paying customer - you don't get support - > not even if you are a VSP with hundreds of connected 3CX customers. > > Known Issues (possibly a rant :-) ) > > * Issue reported 2021: 3CX generates ringback tone to the caller > BEFORE the call is indeed being alerted by a device ringing - from a > technical point of view this causes a lot of confusion as the caller > (especially the technical knowing one) assumes the call has reached > the destination. > > https://www.3cx.de/forum/threads/ringback-tone-obwohl-kein-180-von-remote= .125251/ > > * There is either an generic issue handling method UPDATE or something > broken when two nested transactions use the same sequence number: > > https://www.3cx.de/forum/threads/suspected-bug-with-sequence-cseq-numbers= .126242/ > > Only Solution known for the later issue: Use Kamailio to inspect > User-Agent. > If INVITE from 3CX: Remove UPDATE from Method list and set dialog > variable to keep that setting during all requests and replies in the > complete dialog (or smuggle a flag in record-route so you only have to > remember in each transaction). > When looking up location information of a registered PBX consult > 'User-Agent' and repeat. > Or make this configurable per customer so you can disable 'update' > support for a specific customer. > > Except of all this - 3CX seems to be a very versatile PBX solution with > good mobile / web / native client and support for many different sip > phones. > > Mit freundlichen Gr=C3=BCssen > > -Beno=C3=AEt Panizzon- > -- > I m p r o W a r e A G - Leiter Commerce Kunden > ______________________________________________________ > > Zurlindenstrasse 29 Tel +41 61 826 93 00 > CH-4133 Pratteln Fax +41 61 826 93 01 > Schweiz Web http://www.imp.ch > ______________________________________________________ > --=20 *Cordialement* *Asmaa BOUDDYACH* Team Leader PBC =E2=80=93 D=C3=A9ploiement- Exploitation- Coordination =E2= =80=93 Communications Unifi=C3=A9es Ex=C3=A9cutive R=C3=A9seau SI et Services \ Services \ Ligne de services Vo= ix Communications unifi=C3=A9es et Relations clients SFR Business *T=C3=A9l. **+33 (0) 1 87 64 78 13* [image: logos-signature-e-mail-sfrbusiness] --=20 This message and any of its attachments is intended solely for the addresses and is confidential. If you receive this message= =20 in error, please delete it and immediately notify the sender. Any use not=20 in accord with its purpose, any dissemination or disclosure, either whole=20 or partial, is prohibited except formal approval. The internet cannot=20 guarantee the integrity of this message. The INTELCIA Group shall (will)=20 not therefore be liable for the message if modified. =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 Ce message et toutes les pi=C3=A8ces jointes sont =C3=A9tablis =C3=A0 l'intent= ion=20 exclusive de ses destinataires et sont confidentiels. Si vous recevez ce=20 message par erreur, merci de le d=C3=A9truire et d=E2=80=99en avertir imm=C3=A9diatement=20 l=E2=80=99exp=C3=A9diteur. Toute utilisation de ce message non conforme =C3=A0 sa=20 destination, toute diffusion ou toute publication, m=C3=AAme partielle, est=20 interdite, sauf autorisation expresse. L=E2=80=99internet ne permettant pas=20 d=E2=80=99assurer l=E2=80=99int=C3=A9grit=C3=A9 de ce message, le groupe INTELCIA d=C3=A9cline toute=20 responsabilit=C3=A9 au titre de ce message, dans l=E2=80=99hypoth=C3=A8se o=C3=B9 il aurait =C3=A9t=C3=A9=20 modifi=C3=A9. --000000000000284df0065565c9dd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi Beno=C3=AEt,<br><br>Thank you very much for your detail= ed and valuable feedback =E2=80=94 this is exactly the kind of real-world e= xperience I was looking for.<br><br>I am currently deploying Kamailio as an= SBC in front of a 3CX PBX for approximately 200 users, exposed to the Inte= rnet. Your insights are very helpful.<br><br>Regarding the CSeq/UPDATE issu= e you mentioned, I would like to understand it better and implement your su= ggested workaround in my Kamailio configuration.<br><br>Could you share mor= e details on the following points:<br><br>1. How do you detect in Kamailio = that the INVITE is coming from 3CX (via User-Agent inspection)?<br>2. What = is the exact Kamailio configuration snippet to remove UPDATE from the Metho= d list for 3CX dialogs?<br>3. Do you use the dialog module or a flag in the= Record-Route to maintain this setting throughout the call?<br><br>Also, th= ank you for sharing your 3CX trunk template =E2=80=94 I will test it in my = environment and let you know the results.<br><br>Best regards,<br>Asmaa</di= v><br><div class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" cla= ss=3D"gmail_attr">Le=C2=A0lun. 29 juin 2026 =C3=A0=C2=A016:32, Benoit Paniz= zon <<a href=3D"mailto:[email protected]">[email protected]</a= >> a =C3=A9crit=C2=A0:<br></div><blockquote class=3D"gmail_quote" style= =3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding= -left:1ex">Hi Asma<br> <br> > More specifically, can Kamailio be used as a SIP proxy/SBC in front<br= > > of a 3CX PBX? I would be interested in hearing about any real-world<br= > > deployments, best practices, or challenges you encountered.<br> <br> Sure, we are a Swiss Voice Service Provider (VSP) for (single<br> SIP account) residential and (SIP Trunking) business customers. The core<br= > and registrar parts of our services is using Kamailio but we still<br> have commercial SBC in between kamailio and our customers and IC for<br> topology hiding and media handling and to get a different CallID on<br> each leg of a call.<br> <br> Also looping forwarded calls via an SBC to get a different CallID and<br> therefore a different dialogues and CDR for correct billing of all legs<br> involved in a call (imagine parallel forking a call to a customer's sip= <br> device, to his holiday home phone abroad and to his mobile phone, I<br> need to know which one picked up the call for correct billing)<br> Kamailio not being an SBC therefore using the same CallID on all<br> branched legs sometimes is a bit of an extreme challenge.<br> <br> We have many, especially small business customers using 3CX. Our<br> office telephony with customer hotline, hunt-groups, IVR, time based<br> announcements and forwarding, and call queueing is running on a 3CX.<br> <br> Of course, it is up to you, how you configure trunking, what headers<br> you use etc.<br> Attached our 3CX template file we supply to our customers which works<br> for our set-up and with the way we use the different SIP headers,<br> especially when using clip-no-screening to use the original callerID<br> on a forwarded outbound leg (for which we use the PPI header).<br> <br> Challenges:<br> <br> * 3CX has very bad support, especially for voice service<br> =C2=A0 provider - if you are not a paying customer - you don't get supp= ort -<br> =C2=A0 not even if you are a VSP with hundreds of connected 3CX customers.<= br> <br> Known Issues (possibly a rant :-) )<br> <br> * Issue reported 2021: 3CX generates ringback tone to the caller<br> =C2=A0 BEFORE the call is indeed being alerted by a device ringing - from a= <br> =C2=A0 technical point of view this causes a lot of confusion as the caller= <br> =C2=A0 (especially the technical knowing one) assumes the call has reached<= br> =C2=A0 the destination.<br> =C2=A0 <a href=3D"https://www.3cx.de/forum/threads/ringback-tone-obwohl-kei= n-180-von-remote.125251/" rel=3D"noreferrer" target=3D"_blank">https://www.= 3cx.de/forum/threads/ringback-tone-obwohl-kein-180-von-remote.125251/</a><b= r> <br> * There is either an generic issue handling method UPDATE or something<br> =C2=A0 broken when two nested transactions use the same sequence number:<br= > =C2=A0 <a href=3D"https://www.3cx.de/forum/threads/suspected-bug-with-seque= nce-cseq-numbers.126242/" rel=3D"noreferrer" target=3D"_blank">https://www.= 3cx.de/forum/threads/suspected-bug-with-sequence-cseq-numbers.126242/</a><b= r> <br> =C2=A0 Only Solution known for the later issue: Use Kamailio to inspect<br> =C2=A0 User-Agent.<br> =C2=A0 If INVITE from 3CX: Remove UPDATE from Method list and set dialog<br= > =C2=A0 variable to keep that setting during all requests and replies in the= <br> =C2=A0 complete dialog (or smuggle a flag in record-route so you only have = to<br> =C2=A0 remember in each transaction).<br> =C2=A0 When looking up location information of a registered PBX consult<br> =C2=A0 'User-Agent' and repeat.<br> =C2=A0 Or make this configurable per customer so you can disable 'updat= e'<br> =C2=A0 support for a specific customer.<br> <br> Except of all this - 3CX seems to be a very versatile PBX solution with<br> good mobile / web / native client and support for many different sip<br> phones.<br> <br> Mit freundlichen Gr=C3=BCssen<br> <br> -Beno=C3=AEt Panizzon-<br> -- <br> I m p r o W a r e=C2=A0 =C2=A0A G=C2=A0 =C2=A0 -=C2=A0 =C2=A0 Leiter Commer= ce Kunden<br> ______________________________________________________<br> <br> Zurlindenstrasse 29=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Tel=C2= =A0 +41 61 826 93 00<br> CH-4133 Pratteln=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Fax= =C2=A0 +41 61 826 93 01<br> Schweiz=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0Web=C2=A0 <a href=3D"http://www.imp.ch" rel=3D"nore= ferrer" target=3D"_blank">http://www.imp.ch</a><br> ______________________________________________________<br> </blockquote></div><div><br clear=3D"all"></div><div><br></div><span class= =3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s= ignature"><div dir=3D"ltr"><p class=3D"MsoNormal" style=3D"margin:0cm 0cm 0= .0001pt;color:rgb(34,34,34);font-size:11pt;font-family:Calibri,sans-serif">= <a name=3D"SignatureSanitizer_m_-4073345684613365890__MailAutoSig"><b><span= style=3D"font-size:10pt;color:black">Cordialement</span></b></a><span styl= e=3D"font-size:10pt;color:black"></span></p><p class=3D"MsoNormal" style=3D= "margin:0cm 0cm 0.0001pt;color:rgb(34,34,34);font-size:11pt;font-family:Cal= ibri,sans-serif"><b><span style=3D"font-size:10pt;color:black">Asmaa BOUDDY= ACH</span></b><span style=3D"font-size:10pt;color:black"></span></p><p clas= s=3D"MsoNormal" style=3D"margin:0cm 0cm 0.0001pt;color:rgb(34,34,34);font-s= ize:11pt;font-family:Calibri,sans-serif"><span style=3D"font-size:10pt;colo= r:black">Team Leader PBC =E2=80=93 D=C3=A9ploiement- Exploitation- Coordina= tion=C2=A0 =E2=80=93=C2=A0 Communications Unifi=C3=A9es</span></p><p class= =3D"MsoNormal" style=3D"margin:0cm 0cm 0.0001pt;color:rgb(34,34,34);font-si= ze:11pt;font-family:Calibri,sans-serif"><span style=3D"font-size:10pt;color= :black">Ex=C3=A9cutive R=C3=A9seau SI et Services \ Services \ Ligne de ser= vices Voix</span></p><p class=3D"MsoNormal" style=3D"margin:0cm 0cm 0.0001p= t;color:rgb(34,34,34);font-size:11pt;font-family:Calibri,sans-serif"><span = style=3D"font-size:10pt;color:black">Communications unifi=C3=A9es et Relati= ons clients</span></p><p class=3D"MsoNormal" style=3D"margin:0cm 0cm 0.0001= pt;color:rgb(34,34,34);font-size:11pt;font-family:Calibri,sans-serif"><span= style=3D"font-size:10pt;color:black">SFR Business</span></p><p class=3D"Ms= oNormal" style=3D"margin:0cm 0cm 0.0001pt;color:rgb(34,34,34);font-size:11p= t;font-family:Calibri,sans-serif"><b><span style=3D"font-size:10pt;color:bl= ack">T=C3=A9l.=C2=A0</span></b><b><span lang=3D"EN-US" style=3D"font-size:1= 0pt">+33 (0) 1 87 64 78 13</span></b><span style=3D"font-size:10pt"></span>= </p><p class=3D"MsoNormal" style=3D"margin:0cm 0cm 0.0001pt;color:rgb(34,34= ,34);font-size:11pt;font-family:Calibri,sans-serif"><img width=3D"555" heig= ht=3D"126" alt=3D"logos-signature-e-mail-sfrbusiness"></p></div></div> <br> <p><span style=3D"font-size:11pt;font-family:Calibri,sans-serif;color:rgb(3= 1,73,125)" lang=3D"EN-US">This message and any of its attachments is intend= ed solely for the addresses and is confidential. If you receive this message i= n error, please delete it and immediately notify the sender. Any use not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. The internet cannot guarante= e the integrity of this message. The INTELCIA Group shall (will) not therefor= e be liable for the message if modified.</span><span></span></p> <p><span style=3D"font-size:11pt;font-family:Calibri,sans-serif;color:rgb(3= 1,73,125)">=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94= =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94</s= pan><span></span></p> <p><span style=3D"font-size:11pt;font-family:Calibri,sans-serif;color:rgb(3= 1,73,125)">Ce message et toutes les pi=C3=A8ces jointes sont =C3=A9tablis =C3=A0 l'in= tention exclusive de ses destinataires et sont confidentiels. Si vous recevez ce message par err= eur, merci de le d=C3=A9truire et d=E2=80=99en avertir imm=C3=A9diatement l=E2= =80=99exp=C3=A9diteur. Toute utilisation de ce message non conforme =C3=A0 sa destination, toute diffusi= on ou toute publication, m=C3=AAme partielle, est interdite, sauf autorisation ex= presse. L=E2=80=99internet ne permettant pas d=E2=80=99assurer l=E2=80=99int=C3=A9g= rit=C3=A9 de ce message, le groupe INTELCIA d=C3=A9cline toute responsabilit=C3=A9 au titre de ce message, dan= s l=E2=80=99hypoth=C3=A8se o=C3=B9 il aurait =C3=A9t=C3=A9 modifi=C3=A9.</span><span></span></p> --000000000000284df0065565c9dd-- --===============1132970259== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions -- [email protected] To unsubscribe send an email to [email protected] Important: keep the mailing list in the recipients, do not reply only to the sender! --===============1132970259==--