From spanda at 3clogic.com Thu Jun 1 10:46:07 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Thu, 1 Jun 2023 16:16:07 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . Message-ID: Hi All , I am using opensips 3.2 version: opensips 3.2.3 (x86_64/linux) flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll, sigio_rt, select. svn revision: 3831:3864 main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 When I am initially starting the service I am getting a single process running . After some time when I am checking there are so many processes running automatically . I have pasted the output of the below file . Please update here what's the reason behind this . https://pastebin.com/gu3Js6Fe *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.robson at 8x8.com Thu Jun 1 11:21:01 2023 From: richard.robson at 8x8.com (Richard Robson) Date: Thu, 1 Jun 2023 12:21:01 +0100 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: Message-ID: How many children are defined in your script. You will get one process per child Richard On Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote: > Hi All , > > > I am using opensips 3.2 > version: opensips 3.2.3 (x86_64/linux) > flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, > Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT > ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, > MAX_URI_SIZE 1024, BUF_SIZE 65535 > poll method support: poll, epoll, sigio_rt, select. > svn revision: 3831:3864 > main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 > > When I am initially starting the service I am getting a single process > running . After some time when I am checking there are so many processes > running automatically . I have pasted the output of the below file . > > Please update here what's the reason behind this . > > https://pastebin.com/gu3Js6Fe > > > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From spanda at 3clogic.com Thu Jun 1 11:37:32 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Thu, 1 Jun 2023 17:07:32 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: Message-ID: In 3.2 I think we are not defining children per process . We have udp_worker or tcp_worker . log_level=4 log_stderror=no log_facility=LOG_LOCAL5 #udp_workers=4 tcp_workers=2 disable_dns_blacklist=yes This is my configuration . *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Thu, Jun 1, 2023 at 4:53 PM Richard Robson wrote: > How many children are defined in your script. You will get one process per > child > > Richard > > On Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote: > >> Hi All , >> >> >> I am using opensips 3.2 >> version: opensips 3.2.3 (x86_64/linux) >> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, >> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, >> MAX_URI_SIZE 1024, BUF_SIZE 65535 >> poll method support: poll, epoll, sigio_rt, select. >> svn revision: 3831:3864 >> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >> >> When I am initially starting the service I am getting a single process >> running . After some time when I am checking there are so many processes >> running automatically . I have pasted the output of the below file . >> >> Please update here what's the reason behind this . >> >> https://pastebin.com/gu3Js6Fe >> >> >> >> *Thanks & Regards* >> *Sasmita Panda* >> *Senior Network Testing and Software Engineer* >> *3CLogic , ph:07827611765* >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.zanutti at gmail.com Thu Jun 1 12:59:14 2023 From: daniel.zanutti at gmail.com (Daniel Zanutti) Date: Thu, 1 Jun 2023 09:59:14 -0300 Subject: [OpenSIPS-Users] Registration passthrough In-Reply-To: References: Message-ID: Hi By standard, opensips does not change the Contact and your asterisk box should receive the original Contact, sent by UAC. Are you sure the contact is being changed by Opensips? I saw asterisk ignoring the contact and putting source IP and origin some times. Long time I don't work with asterisk... Also, you can check the stateless forward, it may be enough for you (not sure): https://www.opensips.org/Documentation/Script-CoreFunctions-3-1#toc17 Suggestion: Monitore SIP trace and confirm if Opensips is changing the contact (probably not) On Wed, May 31, 2023 at 10:54 AM nutxase via Users wrote: > Hey guys > > I have set opensips to take registrations and pass them through to > asterisk using the below > but my question is how can i make it set the contact to the ip of the uac > and not the ip of opensips ? > > if (is_method("REGISTER")) { > sethostport("sip.asterisk.xyz:50 > 60"); > route(toasterisk); > } > > route[toasterisk] { > if (!t_relay()) { > xlog("(Rewriting) t_relay 1 - M=$rm RURI=$ru F=$fu T=$tu > IP=$si ID=$ci\n"); > sl_reply_error(); > } > > Sent with Proton Mail secure email. > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nutxase at proton.me Thu Jun 1 14:00:53 2023 From: nutxase at proton.me (nutxase) Date: Thu, 01 Jun 2023 14:00:53 +0000 Subject: [OpenSIPS-Users] Registration passthrough In-Reply-To: References: Message-ID: Hi Daniel Thanks for the reply So it seems asterisk pjsip shows the contact as the ip of opensips not the uac i will try with stateless as i just want to forward it via opensips and asterisk to not know opensips Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Thursday, June 1st, 2023 at 1:59 PM, Daniel Zanutti wrote: > Hi > > By standard, opensips does not change the Contact and your asterisk box should receive the original Contact, sent by UAC. Are you sure the contact is being changed by Opensips? I saw asterisk ignoring the contact and putting source IP and origin some times. Long time I don't work with asterisk... > > Also, you can check the stateless forward, it may be enough for you (not sure): > https://www.opensips.org/Documentation/Script-CoreFunctions-3-1#toc17 > > Suggestion: > > Monitore SIP trace and confirm if Opensips is changing the contact (probably not) > > On Wed, May 31, 2023 at 10:54 AM nutxase via Users wrote: > >> Hey guys >> >> I have set opensips to take registrations and pass them through to asterisk using the below >> but my question is how can i make it set the contact to the ip of the uac and not the ip of opensips ? >> >> if (is_method("REGISTER")) { >> sethostport("[sip.asterisk.xyz:50](http://node3.sipalto.com:5080)60"); >> route(toasterisk);} >> >> route[toasterisk] { >> if (!t_relay()) { >> xlog("(Rewriting) t_relay 1 - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); >> sl_reply_error(); } >> >> Sent with [Proton Mail](https://proton.me/) secure email. >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From nutxase at proton.me Thu Jun 1 15:57:20 2023 From: nutxase at proton.me (nutxase) Date: Thu, 01 Jun 2023 15:57:20 +0000 Subject: [OpenSIPS-Users] Registration passthrough In-Reply-To: References: Message-ID: <6kt77WU_iLUR2_2D17v9iY2zMKYruODT7NgY5T3WqKvdm2EwCCCNEx-66APCYdIWLQ_l29B-RWHinT-lHzlsq8cF_nb9ywE6dD3Rw8iSlok=@proton.me> even with a stateless forward asterisk see's this Contact: 1000/sip:609q2255 at opensipsip:5060 ee32101394 NonQual nan but i wanted it to be Contact: 1000/sip:609q2255 at uacip:5060 ee32101394 NonQual nan Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Thursday, June 1st, 2023 at 3:00 PM, nutxase via Users wrote: > Hi Daniel > > Thanks for the reply > > So it seems asterisk pjsip shows the contact as the ip of opensips not the uac > i will try with stateless as i just want to forward it via opensips and asterisk to not know opensips > > Sent with [Proton Mail](https://proton.me/) secure email. > > ------- Original Message ------- > On Thursday, June 1st, 2023 at 1:59 PM, Daniel Zanutti wrote: > >> Hi >> >> By standard, opensips does not change the Contact and your asterisk box should receive the original Contact, sent by UAC. Are you sure the contact is being changed by Opensips? I saw asterisk ignoring the contact and putting source IP and origin some times. Long time I don't work with asterisk... >> >> Also, you can check the stateless forward, it may be enough for you (not sure): >> https://www.opensips.org/Documentation/Script-CoreFunctions-3-1#toc17 >> >> Suggestion: >> >> Monitore SIP trace and confirm if Opensips is changing the contact (probably not) >> >> On Wed, May 31, 2023 at 10:54 AM nutxase via Users wrote: >> >>> Hey guys >>> >>> I have set opensips to take registrations and pass them through to asterisk using the below >>> but my question is how can i make it set the contact to the ip of the uac and not the ip of opensips ? >>> >>> if (is_method("REGISTER")) { >>> sethostport("[sip.asterisk.xyz:50](http://node3.sipalto.com:5080)60"); >>> route(toasterisk);} >>> >>> route[toasterisk] { >>> if (!t_relay()) { >>> xlog("(Rewriting) t_relay 1 - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); >>> sl_reply_error(); } >>> >>> Sent with [Proton Mail](https://proton.me/) secure email. >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From morrisedery at gmail.com Thu Jun 1 17:06:23 2023 From: morrisedery at gmail.com (morris edery) Date: Thu, 1 Jun 2023 13:06:23 -0400 Subject: [OpenSIPS-Users] Remove Route Header! Message-ID: Hello Team, I am trying to remove Route Header (seems like preloaded) remove_hf("Route") but it's not being removed. i tried to put it in several places on the code but no success if (is_method("INVITE")) { if (is_present_hf("Route")) { xlog("removing Route Header: $(hdr(Route)[0])\n"); remove_hf("Route"); xlog ( "Route Header still present?: $(hdr(Route)[0])\n" ); } route(RELAY); } instead of it goes to if (loose_route()) { xlog("L_ERR","Attempt to route with preloaded Route's [$fu/$tu/$ru/$ci]") if (!is_method("ACK")){ send_reply("403","Preload Route denied"); exit; } } opensips 2.4.8 what i am doing wrong ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.robson at 8x8.com Thu Jun 1 20:09:58 2023 From: richard.robson at 8x8.com (richard.robson) Date: Thu, 01 Jun 2023 21:09:58 +0100 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . Message-ID: Are you using auto scaling?You are not defining udp workers either and the default is 8. You have it commented it out.So that should be at least 10 processes.On Thu, 1 Jun 2023, 12:38 Sasmita Panda, wrote:In 3.2 I think we are not defining children per process . We have udp_worker or tcp_worker . log_level=4log_stderror=nolog_facility=LOG_LOCAL5#udp_workers=4tcp_workers=2disable_dns_blacklist=yesThis is my configuration . Thanks & RegardsSasmita PandaSenior Network Testing and Software Engineer3CLogic , ph:07827611765On Thu, Jun 1, 2023 at 4:53 PM Richard Robson wrote:How many children are defined in your script. You will get one process per childRichardOn Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote:Hi All , I am using opensips 3.2  version: opensips 3.2.3 (x86_64/linux)flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAITADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535poll method support: poll, epoll, sigio_rt, select.svn revision: 3831:3864main.c compiled on 07:29:49 Jun 21 2022 with gcc 10When I am initially starting the service I am getting a single process running . After some time when I am checking there are so many processes running automatically . I have pasted the output of the below file . Please update here what's the reason behind this .   https://pastebin.com/gu3Js6FeThanks & RegardsSasmita PandaSenior Network Testing and Software Engineer3CLogic , ph:07827611765 _______________________________________________ Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.zanutti at gmail.com Thu Jun 1 20:31:03 2023 From: daniel.zanutti at gmail.com (Daniel Zanutti) Date: Thu, 1 Jun 2023 17:31:03 -0300 Subject: [OpenSIPS-Users] Registration passthrough In-Reply-To: <6kt77WU_iLUR2_2D17v9iY2zMKYruODT7NgY5T3WqKvdm2EwCCCNEx-66APCYdIWLQ_l29B-RWHinT-lHzlsq8cF_nb9ywE6dD3Rw8iSlok=@proton.me> References: <6kt77WU_iLUR2_2D17v9iY2zMKYruODT7NgY5T3WqKvdm2EwCCCNEx-66APCYdIWLQ_l29B-RWHinT-lHzlsq8cF_nb9ywE6dD3Rw8iSlok=@proton.me> Message-ID: Check if you are manipulating contact with some function like fix_contact() or usage of media proxy solutions like rtpproxy, rtpengine or mediaproxy. Opensips doesn't change Contact if you don't tell to do it. On Thu, Jun 1, 2023 at 12:57 PM nutxase wrote: > even with a stateless forward asterisk see's this > > > Contact: 1000/sip:609q2255 at opensipsip:5060 ee32101394 NonQual > nan > > but i wanted it to be > Contact: 1000/sip:609q2255 at uacip:5060 ee32101394 NonQual > nan > > Sent with Proton Mail secure email. > > ------- Original Message ------- > On Thursday, June 1st, 2023 at 3:00 PM, nutxase via Users < > users at lists.opensips.org> wrote: > > Hi Daniel > > Thanks for the reply > > So it seems asterisk pjsip shows the contact as the ip of opensips not the > uac > i will try with stateless as i just want to forward it via opensips and > asterisk to not know opensips > > > Sent with Proton Mail secure email. > > ------- Original Message ------- > On Thursday, June 1st, 2023 at 1:59 PM, Daniel Zanutti < > daniel.zanutti at gmail.com> wrote: > > Hi > > By standard, opensips does not change the Contact and your asterisk box > should receive the original Contact, sent by UAC. Are you sure the contact > is being changed by Opensips? I saw asterisk ignoring the contact and > putting source IP and origin some times. Long time I don't work with > asterisk... > > Also, you can check the stateless forward, it may be enough for you (not > sure): > https://www.opensips.org/Documentation/Script-CoreFunctions-3-1#toc17 > > Suggestion: > > Monitore SIP trace and confirm if Opensips is changing the contact > (probably not) > > > > > On Wed, May 31, 2023 at 10:54 AM nutxase via Users < > users at lists.opensips.org> wrote: > >> Hey guys >> >> I have set opensips to take registrations and pass them through to >> asterisk using the below >> but my question is how can i make it set the contact to the ip of the uac >> and not the ip of opensips ? >> >> if (is_method("REGISTER")) { >> sethostport("sip.asterisk.xyz:50 60"); >> route(toasterisk); >> } >> >> route[toasterisk] { >> if (!t_relay()) { >> xlog("(Rewriting) t_relay 1 - M=$rm RURI=$ru F=$fu T=$tu IP=$si >> ID=$ci\n"); >> sl_reply_error(); >> } >> >> Sent with Proton Mail secure email. >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From razvan at opensips.org Fri Jun 2 10:11:02 2023 From: razvan at opensips.org (=?UTF-8?Q?R=c4=83zvan_Crainea?=) Date: Fri, 2 Jun 2023 13:11:02 +0300 Subject: [OpenSIPS-Users] Remove Route Header! In-Reply-To: References: Message-ID: <7324fcba-b561-54c8-593c-9fb712e986af@opensips.org> Hi, Morris! The code you are trying to run removes the Route header for the outgoing message, but the inbound/received INVITE still has the Route header, hence loose_route() sees it and denies it. Do note that loose_route() itself removes the route, if its preloaded, so if you do want to accept preloaded routes, simply don't drop them :) (i.e. comment the send_reply(403...)) Best regards, Răzvan Crainea OpenSIPS Core Developer http://www.opensips-solutions.com On 6/1/23 20:06, morris edery wrote: > Hello Team, > I am trying to remove Route Header (seems like preloaded) > remove_hf("Route")  but  it's not being removed. > > i tried to put it in several places on the code but no success > >   if (is_method("INVITE")) >                 { >                   if (is_present_hf("Route")) >                   { >                     xlog("removing Route Header: $(hdr(Route)[0])\n"); > >                      remove_hf("Route"); >                     xlog ( "Route Header still present?: > $(hdr(Route)[0])\n"); >                   } >                  route(RELAY); >                 } > > > instead of it goes to > > >     if (loose_route()) >                 { >                   xlog("L_ERR","Attempt to route with preloaded Route's > [$fu/$tu/$ru/$ci]") >                     if (!is_method("ACK")){ >                      send_reply("403","Preload Route denied"); >                     exit; >                     } >                 } > > > > opensips 2.4.8 > > > what i am doing wrong ? > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From nutxase at proton.me Fri Jun 2 10:51:21 2023 From: nutxase at proton.me (nutxase) Date: Fri, 02 Jun 2023 10:51:21 +0000 Subject: [OpenSIPS-Users] Registration passthrough In-Reply-To: References: <6kt77WU_iLUR2_2D17v9iY2zMKYruODT7NgY5T3WqKvdm2EwCCCNEx-66APCYdIWLQ_l29B-RWHinT-lHzlsq8cF_nb9ywE6dD3Rw8iSlok=@proton.me> Message-ID: So i now have only if (is_method("REGISTER")) { forward("myasterisk.server.com[:5060](http://node3.sipalto.com:5080)"); exit; } but the contact shows as sip:zyq5d7rf at opensips-ip:5060^...so i need it to be sip:extensionnumber at deviceip:5060xxx Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Thursday, June 1st, 2023 at 9:31 PM, Daniel Zanutti wrote: > Check if you are manipulating contact with some function like fix_contact() or usage of media proxy solutions like rtpproxy, rtpengine or mediaproxy. > > Opensips doesn't change Contact if you don't tell to do it. > > On Thu, Jun 1, 2023 at 12:57 PM nutxase wrote: > >> even with a stateless forward asterisk see's this >> >> Contact: 1000/sip:609q2255 at opensipsip:5060 ee32101394 NonQual nan >> >> but i wanted it to be >> Contact: 1000/sip:609q2255 at uacip:5060 ee32101394 NonQual nan >> >> Sent with [Proton Mail](https://proton.me/) secure email. >> >> ------- Original Message ------- >> On Thursday, June 1st, 2023 at 3:00 PM, nutxase via Users wrote: >> >>> Hi Daniel >>> >>> Thanks for the reply >>> >>> So it seems asterisk pjsip shows the contact as the ip of opensips not the uac >>> i will try with stateless as i just want to forward it via opensips and asterisk to not know opensips >>> >>> Sent with [Proton Mail](https://proton.me/) secure email. >>> >>> ------- Original Message ------- >>> On Thursday, June 1st, 2023 at 1:59 PM, Daniel Zanutti wrote: >>> >>>> Hi >>>> >>>> By standard, opensips does not change the Contact and your asterisk box should receive the original Contact, sent by UAC. Are you sure the contact is being changed by Opensips? I saw asterisk ignoring the contact and putting source IP and origin some times. Long time I don't work with asterisk... >>>> >>>> Also, you can check the stateless forward, it may be enough for you (not sure): >>>> https://www.opensips.org/Documentation/Script-CoreFunctions-3-1#toc17 >>>> >>>> Suggestion: >>>> >>>> Monitore SIP trace and confirm if Opensips is changing the contact (probably not) >>>> >>>> On Wed, May 31, 2023 at 10:54 AM nutxase via Users wrote: >>>> >>>>> Hey guys >>>>> >>>>> I have set opensips to take registrations and pass them through to asterisk using the below >>>>> but my question is how can i make it set the contact to the ip of the uac and not the ip of opensips ? >>>>> >>>>> if (is_method("REGISTER")) { >>>>> sethostport("[sip.asterisk.xyz:50](http://node3.sipalto.com:5080)60"); >>>>> route(toasterisk);} >>>>> >>>>> route[toasterisk] { >>>>> if (!t_relay()) { >>>>> xlog("(Rewriting) t_relay 1 - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); >>>>> sl_reply_error(); } >>>>> >>>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users at lists.opensips.org >>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.zanutti at gmail.com Fri Jun 2 12:41:47 2023 From: daniel.zanutti at gmail.com (Daniel Zanutti) Date: Fri, 2 Jun 2023 09:41:47 -0300 Subject: [OpenSIPS-Users] Registration passthrough In-Reply-To: References: <6kt77WU_iLUR2_2D17v9iY2zMKYruODT7NgY5T3WqKvdm2EwCCCNEx-66APCYdIWLQ_l29B-RWHinT-lHzlsq8cF_nb9ywE6dD3Rw8iSlok=@proton.me> Message-ID: Did you check SIP messages inside your opensips box? I saw home routers changing the Contact some time ago. I could help if you send the whole script, cannot help further without seeing the whole picture. Regards On Fri, Jun 2, 2023 at 7:51 AM nutxase wrote: > So i now have only > if (is_method("REGISTER")) { > forward("myasterisk.server.com:5060 "); > exit; > } > > but the contact shows as > sip:zyq5d7rf at opensips-ip:5060^...so i need it to be > sip:extensionnumber at deviceip:5060xxx > > > Sent with Proton Mail secure email. > > ------- Original Message ------- > On Thursday, June 1st, 2023 at 9:31 PM, Daniel Zanutti < > daniel.zanutti at gmail.com> wrote: > > Check if you are manipulating contact with some function like > fix_contact() or usage of media proxy solutions like rtpproxy, rtpengine or > mediaproxy. > > Opensips doesn't change Contact if you don't tell to do it. > > On Thu, Jun 1, 2023 at 12:57 PM nutxase wrote: > >> even with a stateless forward asterisk see's this >> >> >> Contact: 1000/sip:609q2255 at opensipsip:5060 ee32101394 NonQual nan >> >> but i wanted it to be >> Contact: 1000/sip:609q2255 at uacip:5060 ee32101394 NonQual nan >> >> Sent with Proton Mail secure email. >> >> ------- Original Message ------- >> On Thursday, June 1st, 2023 at 3:00 PM, nutxase via Users < >> users at lists.opensips.org> wrote: >> >> Hi Daniel >> >> Thanks for the reply >> >> So it seems asterisk pjsip shows the contact as the ip of opensips not >> the uac >> i will try with stateless as i just want to forward it via opensips and >> asterisk to not know opensips >> >> >> Sent with Proton Mail secure email. >> >> ------- Original Message ------- >> On Thursday, June 1st, 2023 at 1:59 PM, Daniel Zanutti < >> daniel.zanutti at gmail.com> wrote: >> >> Hi >> >> By standard, opensips does not change the Contact and your asterisk box >> should receive the original Contact, sent by UAC. Are you sure the contact >> is being changed by Opensips? I saw asterisk ignoring the contact and >> putting source IP and origin some times. Long time I don't work with >> asterisk... >> >> Also, you can check the stateless forward, it may be enough for you (not >> sure): >> https://www.opensips.org/Documentation/Script-CoreFunctions-3-1#toc17 >> >> Suggestion: >> >> Monitore SIP trace and confirm if Opensips is changing the contact >> (probably not) >> >> >> >> >> On Wed, May 31, 2023 at 10:54 AM nutxase via Users < >> users at lists.opensips.org> wrote: >> >>> Hey guys >>> >>> I have set opensips to take registrations and pass them through to >>> asterisk using the below >>> but my question is how can i make it set the contact to the ip of the >>> uac and not the ip of opensips ? >>> >>> if (is_method("REGISTER")) { >>> sethostport("sip.asterisk.xyz:50 60"); >>> route(toasterisk); >>> } >>> >>> route[toasterisk] { >>> if (!t_relay()) { >>> xlog("(Rewriting) t_relay 1 - M=$rm RURI=$ru F=$fu T=$tu IP=$si >>> ID=$ci\n"); >>> sl_reply_error(); >>> } >>> >>> Sent with Proton Mail secure email. >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nutxase at proton.me Fri Jun 2 12:45:42 2023 From: nutxase at proton.me (nutxase) Date: Fri, 02 Jun 2023 12:45:42 +0000 Subject: [OpenSIPS-Users] Registration passthrough In-Reply-To: References: <6kt77WU_iLUR2_2D17v9iY2zMKYruODT7NgY5T3WqKvdm2EwCCCNEx-66APCYdIWLQ_l29B-RWHinT-lHzlsq8cF_nb9ywE6dD3Rw8iSlok=@proton.me> Message-ID: Hi Daniel Yes i did check sure i will send you the opensips.cfg off list now(will remove my hosts) Thanks!!! Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Friday, June 2nd, 2023 at 1:41 PM, Daniel Zanutti wrote: > Did you check SIP messages inside your opensips box? I saw home routers changing the Contact some time ago. > > I could help if you send the whole script, cannot help further without seeing the whole picture. > > Regards > > On Fri, Jun 2, 2023 at 7:51 AM nutxase wrote: > >> So i now have only >> if (is_method("REGISTER")) { >> forward("myasterisk.server.com[:5060](http://node3.sipalto.com:5080)"); >> >> exit; >> } >> >> but the contact shows as >> >> sip:zyq5d7rf at opensips-ip:5060^...so i need it to be >> sip:extensionnumber at deviceip:5060xxx >> >> Sent with [Proton Mail](https://proton.me/) secure email. >> >> ------- Original Message ------- >> On Thursday, June 1st, 2023 at 9:31 PM, Daniel Zanutti wrote: >> >>> Check if you are manipulating contact with some function like fix_contact() or usage of media proxy solutions like rtpproxy, rtpengine or mediaproxy. >>> >>> Opensips doesn't change Contact if you don't tell to do it. >>> >>> On Thu, Jun 1, 2023 at 12:57 PM nutxase wrote: >>> >>>> even with a stateless forward asterisk see's this >>>> >>>> Contact: 1000/sip:609q2255 at opensipsip:5060 ee32101394 NonQual nan >>>> >>>> but i wanted it to be >>>> Contact: 1000/sip:609q2255 at uacip:5060 ee32101394 NonQual nan >>>> >>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>> >>>> ------- Original Message ------- >>>> On Thursday, June 1st, 2023 at 3:00 PM, nutxase via Users wrote: >>>> >>>>> Hi Daniel >>>>> >>>>> Thanks for the reply >>>>> >>>>> So it seems asterisk pjsip shows the contact as the ip of opensips not the uac >>>>> i will try with stateless as i just want to forward it via opensips and asterisk to not know opensips >>>>> >>>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>>> >>>>> ------- Original Message ------- >>>>> On Thursday, June 1st, 2023 at 1:59 PM, Daniel Zanutti wrote: >>>>> >>>>>> Hi >>>>>> >>>>>> By standard, opensips does not change the Contact and your asterisk box should receive the original Contact, sent by UAC. Are you sure the contact is being changed by Opensips? I saw asterisk ignoring the contact and putting source IP and origin some times. Long time I don't work with asterisk... >>>>>> >>>>>> Also, you can check the stateless forward, it may be enough for you (not sure): >>>>>> https://www.opensips.org/Documentation/Script-CoreFunctions-3-1#toc17 >>>>>> >>>>>> Suggestion: >>>>>> >>>>>> Monitore SIP trace and confirm if Opensips is changing the contact (probably not) >>>>>> >>>>>> On Wed, May 31, 2023 at 10:54 AM nutxase via Users wrote: >>>>>> >>>>>>> Hey guys >>>>>>> >>>>>>> I have set opensips to take registrations and pass them through to asterisk using the below >>>>>>> but my question is how can i make it set the contact to the ip of the uac and not the ip of opensips ? >>>>>>> >>>>>>> if (is_method("REGISTER")) { >>>>>>> sethostport("[sip.asterisk.xyz:50](http://node3.sipalto.com:5080)60"); >>>>>>> route(toasterisk);} >>>>>>> >>>>>>> route[toasterisk] { >>>>>>> if (!t_relay()) { >>>>>>> xlog("(Rewriting) t_relay 1 - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); >>>>>>> sl_reply_error(); } >>>>>>> >>>>>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> Users at lists.opensips.org >>>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From denys.pozniak at gmail.com Fri Jun 2 14:39:09 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Fri, 2 Jun 2023 17:39:09 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer Message-ID: Hello! I need advice on how best to implement the anycast + clusterer + dispatcher scheme. In short, we want to build an additional upper layer in front of our sip legacy servers, on which traffic balancing will take place. Most likely it will look like several nodes of the same clusterer with a single public anycast address, from which traffic will also go to the public interfaces of the legacy sip servers (via the dispatcher list). During testing, it turned out that if we include the dispatcher module in the clusterer, then the inactive nodes of the cluster begin to affect the general state of the legacy sip servers on active node, since replays to SIP OPTIONS reach only one active node, though all nodes ping. Thus, the sip server status is constantly flapping on active node. Is it possible to somehow make all other nodes believe the active node at a given time and inherit its dispatcher state? *node1:* modparam("clusterer", "sharing_tag", "anycast1/1=active") modparam("clusterer", "sharing_tag", "anycast2/1=backup") modparam("clusterer", "sharing_tag", "anycast3/1=backup") modparam("clusterer", "sharing_tag", "anycast4/1=backup") modparam("dispatcher", "cluster_sharing_tag", "anycast1") modparam("dispatcher", "db_url", "text:///etc/opensips/dbtext") modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") modparam("dispatcher", "script_attrs_avp", "$avp(dsp_script_attrs_avp)") modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") modparam("dispatcher", "ds_ping_method", "OPTIONS") modparam("dispatcher", "ds_ping_from", "sip:ping at dispatcher") modparam("dispatcher", "ds_ping_interval", 10) modparam("dispatcher", "ds_probing_threshold", 2) modparam("dispatcher", "ds_probing_mode", 1) modparam("dispatcher", "options_reply_codes", "501,403,404,400,200") modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") modparam("dispatcher", "persistent_state", 1) modparam("dispatcher", "cluster_id", 1) modparam("dispatcher", "cluster_probing_mode", "by-shtag") *dispatcher:* id(int,auto) setid(int) destination(string) socket(string,null) state(int) probe_mode(int) weight(string) priority(int) attrs(string) description(string) 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' Sure, it is possible to attach an additional public address to each node and do not share dispatcher state, but still I would like to somehow find a solution for the current scheme -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From morrisedery at gmail.com Fri Jun 2 20:19:36 2023 From: morrisedery at gmail.com (morris edery) Date: Fri, 2 Jun 2023 16:19:36 -0400 Subject: [OpenSIPS-Users] Remove Route Header! In-Reply-To: <7324fcba-b561-54c8-593c-9fb712e986af@opensips.org> References: <7324fcba-b561-54c8-593c-9fb712e986af@opensips.org> Message-ID: i put the remove_hf() below it will remove from the header Contact and User-Agent and will rename the new User-Agent but Route won't remove and still appear on the outgoing invite message route[RELAY] { remove_hf("Route"); remove_hf("Contact"); remove_hf("User-Agent"); append_hf("User-Agent: New Agent"); if (!t_relay()) { sl_reply_error(); } exit; } On Fri, Jun 2, 2023 at 6:13 AM Răzvan Crainea wrote: > Hi, Morris! > > The code you are trying to run removes the Route header for the outgoing > message, but the inbound/received INVITE still has the Route header, > hence loose_route() sees it and denies it. > Do note that loose_route() itself removes the route, if its preloaded, > so if you do want to accept preloaded routes, simply don't drop them :) > (i.e. comment the send_reply(403...)) > > Best regards, > > Răzvan Crainea > OpenSIPS Core Developer > http://www.opensips-solutions.com > > On 6/1/23 20:06, morris edery wrote: > > Hello Team, > > I am trying to remove Route Header (seems like preloaded) > > remove_hf("Route") but it's not being removed. > > > > i tried to put it in several places on the code but no success > > > > if (is_method("INVITE")) > > { > > if (is_present_hf("Route")) > > { > > xlog("removing Route Header: $(hdr(Route)[0])\n"); > > > > remove_hf("Route"); > > xlog ( "Route Header still present?: > > $(hdr(Route)[0])\n"); > > } > > route(RELAY); > > } > > > > > > instead of it goes to > > > > > > if (loose_route()) > > { > > xlog("L_ERR","Attempt to route with preloaded Route's > > [$fu/$tu/$ru/$ci]") > > if (!is_method("ACK")){ > > send_reply("403","Preload Route denied"); > > exit; > > } > > } > > > > > > > > opensips 2.4.8 > > > > > > what i am doing wrong ? > > > > > > > > _______________________________________________ > > Users mailing list > > Users at lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 6 08:37:16 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 6 Jun 2023 11:37:16 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: References: Message-ID: Hi Denys, So, in the dispatcher cluster you have some active nodes, but also some stand-by, right ? And I see you did not set the this cluster_sharing_tag modparam [1] - check it out, it may help you in deciding which nodes may broadcast the state inside the cluster (for dispatcher) [1] https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/2/23 5:39 PM, Denys Pozniak wrote: > Hello! > > I need advice on how best to implement the anycast + clusterer + > dispatcher scheme. > In short, we want to build an additional upper layer in front of our > sip legacy servers, on which traffic balancing will take place. > Most likely it will look like several nodes of the same clusterer with > a single public anycast address, from which traffic will also go to > the public interfaces of the legacy sip servers (via the dispatcher list). > During testing, it turned out that if we include the dispatcher module > in the clusterer, then the inactive nodes of the cluster begin to > affect the general state of the legacy sip servers on active node, > since replays to SIP OPTIONS reach only one active node, though all > nodes ping. > > Thus, the sip server status is constantly flapping on active node. > Is it possible to somehow make all other nodes believe the active node > at a given time and inherit its dispatcher state? > > *node1:* > modparam("clusterer", "sharing_tag", "anycast1/1=active") > modparam("clusterer", "sharing_tag", "anycast2/1=backup") > modparam("clusterer", "sharing_tag", "anycast3/1=backup") > modparam("clusterer", "sharing_tag", "anycast4/1=backup") > > modparam("dispatcher", "cluster_sharing_tag", "anycast1") > > modparam("dispatcher", "db_url", "text:///etc/opensips/dbtext") > modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") > modparam("dispatcher", "script_attrs_avp", "$avp(dsp_script_attrs_avp)") > modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") > modparam("dispatcher", "ds_ping_method", "OPTIONS") > modparam("dispatcher", "ds_ping_from", "sip:ping at dispatcher") > modparam("dispatcher", "ds_ping_interval", 10) > modparam("dispatcher", "ds_probing_threshold", 2) > modparam("dispatcher", "ds_probing_mode", 1) > modparam("dispatcher", "options_reply_codes", "501,403,404,400,200") > modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") > modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") > modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") > modparam("dispatcher", "persistent_state", 1) > modparam("dispatcher", "cluster_id", 1) > modparam("dispatcher", "cluster_probing_mode", "by-shtag") > > *dispatcher:* > id(int,auto) setid(int) destination(string) socket(string,null) > state(int) probe_mode(int) weight(string) priority(int) attrs(string) > description(string) > 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' > 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' > 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' > > Sure, it is possible to attach an additional public address to each > node and do not share dispatcher state, but still I would like to > somehow find a solution for the current scheme > > -- > > BR, > Denys Pozniak > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 6 08:39:54 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 6 Jun 2023 11:39:54 +0300 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: Message-ID: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> Hi, Doing `opensips-cli -x mi ps` will list all the opensips processes and their role within OpenSIPS - this will help you understand the overall set of procs. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/1/23 2:37 PM, Sasmita Panda wrote: > In 3.2 I think we are not defining children per process . We have > udp_worker or tcp_worker . > > log_level=4 > log_stderror=no > log_facility=LOG_LOCAL5 > > #udp_workers=4 > tcp_workers=2 > > disable_dns_blacklist=yes > > This is my configuration . > > */ > /* > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > > On Thu, Jun 1, 2023 at 4:53 PM Richard Robson > wrote: > > How many children are defined in your script. You will get one > process per child > > Richard > > On Thu, 1 Jun 2023, 11:47 Sasmita Panda, > wrote: > > Hi All , > > > I am using opensips 3.2 > version: opensips 3.2.3 (x86_64/linux) > flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, > PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, > FAST_LOCK-ADAPTIVE_WAIT > ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, > MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 > poll method support: poll, epoll, sigio_rt, select. > svn revision: 3831:3864 > main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 > > When I am initially starting the service I am getting a single > process running . After some time when I am checking there are > so many processes running automatically . I have pasted the > output of the below file . > > Please update here what's the reason behind this . > > https://pastebin.com/gu3Js6Fe > > > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 6 08:43:20 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 6 Jun 2023 11:43:20 +0300 Subject: [OpenSIPS-Users] Registrar In-Reply-To: References: Message-ID: <5b7cf9e7-4aa3-ce91-5269-bc88efbbe312@opensips.org> Hi, It sounds to be more of an Asterisk issue, rather than OpenSIPS - when proxying a REGISTER request, no registration info is changed/altered by OpenSIPS. For the sake of completion, here is the link to your second identical post:     http://lists.opensips.org/pipermail/users/2023-May/046959.html Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/31/23 6:15 PM, nutxase via Users wrote: > Hey Guys > > How can i make opensips rewrite the contact of the registration sent > to the received ip > currently i have > UAC -----> opensips ----> asterisk > and asterisk shows the ip of the uac as the opensips ip > how can i make it rewrite it to the ip in the path or the via received= > > thanks > > Sent with Proton Mail secure email. > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 6 08:46:52 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 6 Jun 2023 11:46:52 +0300 Subject: [OpenSIPS-Users] Benchmark not working on V2.4.6 In-Reply-To: References: Message-ID: Hi, Maybe the overall log_level prevents the logging, see https://opensips.org/html/docs/modules/2.4.x/benchmark.html#param_loglevel Be sure that the benchmark log_level is below (or equal) to the overall log_level Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/30/23 6:22 PM, Li Cai wrote: > > Hi, > > I’m trying to use Benchmark tool to investigate a database performance > issue on OpenSIPs v2.4.6, but no matter what the configurations I > tried, I can’t see the log printed out by Benchmark. > > Here are the scripts I’m using: > > loadmodule "benchmark.so" > > modparam("benchmark", "enable", 1) > > modparam("benchmark", "granularity", 1) # To make the benchmark > enabled for every call > > ….. > > Route { > > …… > > bm_start_timer("test"); > >         cache_store("sql:1st-mysql", "$tU-$fU-ru", "$ru", 43200); > > bm_log_timer("test"); > >         cache_store("sql:1st-mysql", "$tU-$fU-tu", "$tu", 43200); > > bm_log_timer("test"); > > …….. > > } > > Any idea will be highly appreciated. > > Thanks, > > Li > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 6 09:04:50 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 6 Jun 2023 12:04:50 +0300 Subject: [OpenSIPS-Users] opensips 3.2 crash . In-Reply-To: References: Message-ID: Hi, Actually it is not crashing, but failing to start: May 30 07:39:40 ip-20-0-214-64 opensips: INFO:core:daemonize: pre-daemon process exiting with -1 While getting those warnings at logs (it looks like it is doing for seconds), try to do `opensips-cli -x trap` Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/30/23 10:54 AM, Sasmita Panda wrote: > Hi All , > > I am using opensips 3.2 and its crashing each time I am starting the > service . > > opensips logs : > https://pastebin.com/eHpG3NWq > > opensips config file : > https://pastebin.com/wvH8QP5Z > > > Please have a look and update here . Thanks in advance . > > > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 6 09:06:29 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 6 Jun 2023 12:06:29 +0300 Subject: [OpenSIPS-Users] Can opensips 1.11 be integrated with Homer 7 . In-Reply-To: References: Message-ID: <539661c6-d7ad-00ea-f233-0ee03a573f13@opensips.org> Hi, If 1.11 supports HEP2, you just need to find the Homer version supporting HEP2 also. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/29/23 8:57 AM, Sasmita Panda wrote: > I have integrated opensips 3.2 with homer 7 and it is working > perfectly fine . > > Earlier some of my servers are in opensips 1.11 which we have > not upgraded yet .  Can opensips 1.11 also be integrated with Homer 7 ? > > Opensips 1.11 supports HEP2 version and in homer 7 it says it supports > HEP3 . > > That's the error I am getting as of now . Can anyone clear my doubts > here please ? > > If opensips 1.11 wont work with Homer 7 then will I need to install > Homer5 for this ? > > Please suggest > > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From spanda at 3clogic.com Tue Jun 6 10:57:10 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Tue, 6 Jun 2023 16:27:10 +0530 Subject: [OpenSIPS-Users] Can opensips 1.11 be integrated with Homer 7 . In-Reply-To: <539661c6-d7ad-00ea-f233-0ee03a573f13@opensips.org> References: <539661c6-d7ad-00ea-f233-0ee03a573f13@opensips.org> Message-ID: Thank you so much . I just got that . So I am ok with upgrading my opensips to the latest version . On Tue, Jun 6, 2023 at 2:36 PM Bogdan-Andrei Iancu wrote: > Hi, > > If 1.11 supports HEP2, you just need to find the Homer version supporting > HEP2 also. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 5/29/23 8:57 AM, Sasmita Panda wrote: > > I have integrated opensips 3.2 with homer 7 and it is working perfectly > fine . > > Earlier some of my servers are in opensips 1.11 which we have not upgraded > yet . Can opensips 1.11 also be integrated with Homer 7 ? > > Opensips 1.11 supports HEP2 version and in homer 7 it says it supports > HEP3 . > > That's the error I am getting as of now . Can anyone clear my doubts here > please ? > > If opensips 1.11 wont work with Homer 7 then will I need to install Homer5 > for this ? > > Please suggest > > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > > _______________________________________________ > Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at softnet.si Tue Jun 6 12:42:28 2023 From: simon at softnet.si (Simon Gajski) Date: Tue, 6 Jun 2023 14:42:28 +0200 Subject: [OpenSIPS-Users] Freeswitch ignores 503 message from opensips Message-ID: Hi I am using Opensips to act as SBC in combination with Freeswitch for handling media. I added function to count simultaneous incomming/outgoing calls per trunk. Call flow looks like: 1. Customer   ---> Opensips 2. Opensips   ---> Freeswitch 3. Freeswitch ---> Opensips 4. Opensips   ---> Carrier After call is returned from Freeswitch to Opensips (step 3), routing logic is applied where the call shall be routed next (step 4). But before call is relayed to final route (in step 4)  counter for simultaneous calls checks if either source or destination IP already reached its limit of concurrent calls. In case of yes, Opensips sends to Freeswitch 503 response instead of performing step 4. send_reply("503", "Service Unavailable: Channel limit exceeded\n"); exit; And here comes my problem: Freeswitch ignores 503 message and sends another INVITE and then opensips repeats its logic. Can somebody tell me what should I check? or what would be the right way to terminate such call? Thanks BR Simon -------------- next part -------------- An HTML attachment was scrubbed... URL: From brett at nemeroff.com Tue Jun 6 12:53:19 2023 From: brett at nemeroff.com (Brett Nemeroff) Date: Tue, 6 Jun 2023 07:53:19 -0500 Subject: [OpenSIPS-Users] Freeswitch ignores 503 message from opensips In-Reply-To: References: Message-ID: Hello Simon, This sounds more like an issue with how Freeswitch is routing calls. However, a normal UAC will do something like this if the UAS doesn’t return a provisional (1xx) response in time. Are you sending a 100? If not, that could account for retransmissions. If instead it really is rolling back to OpenSIPs on a 503, it’s almost certainly some sort of routing issue on the Freeswitch side. What’s the timing between the two INVITEs? If you could share a trace with some timestamps, that would help. -Brett On Tue, Jun 6, 2023 at 7:44 AM Simon Gajski via Users < users at lists.opensips.org> wrote: > Hi > > I am using Opensips to act as SBC in combination with Freeswitch for > handling media. > I added function to count simultaneous incomming/outgoing calls per trunk. > > Call flow looks like: > > 1. Customer ---> Opensips > 2. Opensips ---> Freeswitch > 3. Freeswitch ---> Opensips > 4. Opensips ---> Carrier > > After call is returned from Freeswitch to Opensips (step 3), > routing logic is applied where the call shall be routed next (step 4). > > But before call is relayed to final route (in step 4) counter for > simultaneous calls > checks if either source or destination IP already reached its limit of > concurrent calls. > In case of yes, Opensips sends to Freeswitch 503 response instead of > performing step 4. > > send_reply("503", "Service Unavailable: Channel limit exceeded\n"); > exit; > > And here comes my problem: > Freeswitch ignores 503 message and sends another INVITE and then opensips > repeats its logic. > Can somebody tell me what should I check? or what would be the right way > to terminate such call? > > Thanks > > BR > Simon > > > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From denys.pozniak at gmail.com Tue Jun 6 13:11:54 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Tue, 6 Jun 2023 16:11:54 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: References: Message-ID: Hello! >So, in the dispatcher cluster you have some active nodes, but also some stand-by, right ? All cluster nodes have the same dynamic routing protocol metric, so only one random node can receive traffic from the network point of view. Well, accordingly, only the "active" node can accept replays to SIP OPTIONS from the dispatcher. And all other nodes see the dispatcher peers as not alive. It's more a question of how to make other nodes believe the status from the "active" node and not influence it. >And I see you did not set the this cluster_sharing_tag modparam I have this option set, you probably didn't notice in the initial thread. modparam("dispatcher", "cluster_sharing_tag", "anycast1") вт, 6 июн. 2023 г. в 11:37, Bogdan-Andrei Iancu : > Hi Denys, > > So, in the dispatcher cluster you have some active nodes, but also some > stand-by, right ? > > And I see you did not set the this cluster_sharing_tag modparam [1] - > check it out, it may help you in deciding which nodes may broadcast the > state inside the cluster (for dispatcher) > > [1] > https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/2/23 5:39 PM, Denys Pozniak wrote: > > Hello! > > I need advice on how best to implement the anycast + clusterer + > dispatcher scheme. > In short, we want to build an additional upper layer in front of our sip > legacy servers, on which traffic balancing will take place. > Most likely it will look like several nodes of the same clusterer with a > single public anycast address, from which traffic will also go to the > public interfaces of the legacy sip servers (via the dispatcher list). > During testing, it turned out that if we include the dispatcher module in > the clusterer, then the inactive nodes of the cluster begin to affect the > general state of the legacy sip servers on active node, since replays to > SIP OPTIONS reach only one active node, though all nodes ping. > > Thus, the sip server status is constantly flapping on active node. > Is it possible to somehow make all other nodes believe the active node at > a given time and inherit its dispatcher state? > > *node1:* > modparam("clusterer", "sharing_tag", "anycast1/1=active") > modparam("clusterer", "sharing_tag", "anycast2/1=backup") > modparam("clusterer", "sharing_tag", "anycast3/1=backup") > modparam("clusterer", "sharing_tag", "anycast4/1=backup") > > modparam("dispatcher", "cluster_sharing_tag", "anycast1") > > modparam("dispatcher", "db_url", "text:///etc/opensips/dbtext") > modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") > modparam("dispatcher", "script_attrs_avp", "$avp(dsp_script_attrs_avp)") > modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") > modparam("dispatcher", "ds_ping_method", "OPTIONS") > modparam("dispatcher", "ds_ping_from", "sip:ping at dispatcher") > modparam("dispatcher", "ds_ping_interval", 10) > modparam("dispatcher", "ds_probing_threshold", 2) > modparam("dispatcher", "ds_probing_mode", 1) > modparam("dispatcher", "options_reply_codes", "501,403,404,400,200") > modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") > modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") > modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") > modparam("dispatcher", "persistent_state", 1) > modparam("dispatcher", "cluster_id", 1) > modparam("dispatcher", "cluster_probing_mode", "by-shtag") > > *dispatcher:* > id(int,auto) setid(int) destination(string) socket(string,null) state(int) > probe_mode(int) weight(string) priority(int) attrs(string) > description(string) > 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' > 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' > 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' > > Sure, it is possible to attach an additional public address to each node > and do not share dispatcher state, but still I would like to somehow find a > solution for the current scheme > > -- > > BR, > Denys Pozniak > > > > _______________________________________________ > Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From mohamed.kharroubi at sofrecom.com Tue Jun 6 15:06:33 2023 From: mohamed.kharroubi at sofrecom.com (mohamed.kharroubi at sofrecom.com) Date: Tue, 6 Jun 2023 15:06:33 +0000 Subject: [OpenSIPS-Users] B2B Opensips + RTPEngine Message-ID: Hello Community, We are trying to set up an Opensips with RTPEngine in a B2B configuration to handle media processing. There is no scenario for the B2B we're trying to implement, we're just using the topology < ! However, regardless of our configuration, the SDP of the INVITE and 200 OK packets is not modified to include the RTPEngine IP address and port How should the RTPEngine be configured in the Opensips.cfg or which function(s) should be called to achieve this? Bien Cordialement, [cid:image001.png at 01D99890.229B0E80] [cid:image002.jpg at 01D99890.229B0E80] Kharroubi Mohamed Senior DevOps/System Engineer Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia mohamed.kharroubi at sofrecom.com www.sofrecom.com Part of the Orange group -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 2476 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 785 bytes Desc: image002.jpg URL: From bogdan at opensips.org Tue Jun 6 15:07:51 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 6 Jun 2023 18:07:51 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: References: Message-ID: <87133608-e630-20b5-7e45-e8564ab9ae9d@opensips.org> Hi Denys, Even better if you have only one active opensips instance - in this case you can use only one sharing-tag across all nodes/servers in the dispatcher cluster, tag to point to the active instance. So, whenever you point the traffic to a certain opensips instance, be sure to make the tag active on that instance too. https://opensips.org/html/docs/modules/3.2.x/clusterer.html#mi_clusterer_shtag_set_active Best regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/6/23 4:11 PM, Denys Pozniak wrote: > Hello! > > >So, in the dispatcher cluster you have some active nodes, but also > some stand-by, right ? > All cluster nodes have the same dynamic routing protocol metric, so > only one random node can receive traffic from the network point of view. > Well, accordingly, only the "active" node can accept replays to SIP > OPTIONS from the dispatcher. And all other nodes see the dispatcher > peers as not alive. > It's more a question of how to make other nodes believe the status > from the "active" node and not influence it. > > >And I see you did not set the this cluster_sharing_tag modparam > I have this option set, you probably didn't notice in the initial thread. > modparam("dispatcher", "cluster_sharing_tag", "anycast1") > > > вт, 6 июн. 2023 г. в 11:37, Bogdan-Andrei Iancu >: > > Hi Denys, > > So, in the dispatcher cluster you have some active nodes, but also > some stand-by, right ? > > And I see you did not set the this cluster_sharing_tag modparam > [1] - check it out, it may help you in deciding which nodes may > broadcast the state inside the cluster (for dispatcher) > > [1] > https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag > > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/2/23 5:39 PM, Denys Pozniak wrote: >> Hello! >> >> I need advice on how best to implement the anycast + clusterer + >> dispatcher scheme. >> In short, we want to build an additional upper layer in front of >> our sip legacy servers, on which traffic balancing will take place. >> Most likely it will look like several nodes of the same clusterer >> with a single public anycast address, from which traffic will >> also go to the public interfaces of the legacy sip servers (via >> the dispatcher list). >> During testing, it turned out that if we include the dispatcher >> module in the clusterer, then the inactive nodes of the cluster >> begin to affect the general state of the legacy sip servers on >> active node, since replays to SIP OPTIONS reach only one active >> node, though all nodes ping. >> >> Thus, the sip server status is constantly flapping on active node. >> Is it possible to somehow make all other nodes believe the active >> node at a given time and inherit its dispatcher state? >> >> *node1:* >> modparam("clusterer", "sharing_tag", "anycast1/1=active") >> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >> >> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >> >> modparam("dispatcher", "db_url", "text:///etc/opensips/dbtext") >> modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") >> modparam("dispatcher", "script_attrs_avp", >> "$avp(dsp_script_attrs_avp)") >> modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") >> modparam("dispatcher", "ds_ping_method", "OPTIONS") >> modparam("dispatcher", "ds_ping_from", "sip:ping at dispatcher") >> modparam("dispatcher", "ds_ping_interval", 10) >> modparam("dispatcher", "ds_probing_threshold", 2) >> modparam("dispatcher", "ds_probing_mode", 1) >> modparam("dispatcher", "options_reply_codes", "501,403,404,400,200") >> modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") >> modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") >> modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") >> modparam("dispatcher", "persistent_state", 1) >> modparam("dispatcher", "cluster_id", 1) >> modparam("dispatcher", "cluster_probing_mode", "by-shtag") >> >> *dispatcher:* >> id(int,auto) setid(int) destination(string) socket(string,null) >> state(int) probe_mode(int) weight(string) priority(int) >> attrs(string) description(string) >> 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' >> 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' >> 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' >> >> Sure, it is possible to attach an additional public address to >> each node and do not share dispatcher state, but still I would >> like to somehow find a solution for the current scheme >> >> -- >> >> BR, >> Denys Pozniak >> >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > -- > > BR, > Denys Pozniak > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brett at nemeroff.com Tue Jun 6 20:02:15 2023 From: brett at nemeroff.com (Brett Nemeroff) Date: Tue, 6 Jun 2023 15:02:15 -0500 Subject: [OpenSIPS-Users] Freeswitch ignores 503 message from opensips In-Reply-To: <57a7696b-07a8-6fcf-dd8c-372b5ebfc8f4@softnet.si> References: <57a7696b-07a8-6fcf-dd8c-372b5ebfc8f4@softnet.si> Message-ID: The call looping may be causing a signalling issue, it's hard to tell without more detail, but that second INVITE really looks like a retransmission. It's at exactly 1000ms. It's saying "HELLO!! I SAID INVITE". So what's happening here is that while the 503 comes it, freeswitch for some reason doesn't think it has anything to do with the original INVITE you made out. So FS is acting like you never answered and trying again. Hard to tell a whole lot more without seeing more detail. Hope that helps set you in the right direction. -Brett -------------- next part -------------- An HTML attachment was scrubbed... URL: From jehanzaib.kiani at gmail.com Tue Jun 6 23:28:31 2023 From: jehanzaib.kiani at gmail.com (Jehanzaib Younis) Date: Wed, 7 Jun 2023 11:28:31 +1200 Subject: [OpenSIPS-Users] B2B Opensips + RTPEngine In-Reply-To: References: Message-ID: Hi there, Can you write an example of how you used rtpengine_offer() ? Regards, Jehanzaib On Wed, Jun 7, 2023 at 3:07 AM wrote: > Hello Community, > > > > We are trying to set up an Opensips with RTPEngine in a B2B configuration > to handle media processing. There is no scenario for the B2B we’re trying > to implement, we’re just using the topology « «top hiding » ! > > However, regardless of our configuration, the SDP of the INVITE and 200 OK > packets is not modified to include the RTPEngine IP address and port > > > > How should the RTPEngine be configured in the Opensips.cfg or which > function(s) should be called to achieve this? > > Bien Cordialement, > > > > *Kharroubi Mohamed* > Senior DevOps/System Engineer > > Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia > > > > mohamed.kharroubi at sofrecom.com > > www.sofrecom.com > > *Part of the Orange group* > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 2476 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 785 bytes Desc: not available URL: From mohamed.kharroubi at sofrecom.com Wed Jun 7 11:17:03 2023 From: mohamed.kharroubi at sofrecom.com (mohamed.kharroubi at sofrecom.com) Date: Wed, 7 Jun 2023 11:17:03 +0000 Subject: [OpenSIPS-Users] B2B Opensips + RTPEngine In-Reply-To: References: Message-ID: <9740ec34cd1947ae8a59e6446bf1e442@sofrecom.com> Hello, So we don’t use that function regarding RTPEngine, but we use the rtpengine_manage() instead. Here is an example of how we use it inside the routing logic : #################################################################################### $var(rtpengine_flags) = "replace-session-connection replace-origin in-iface=internal out-iface=external"; rtpengine_manage("$var(rtpengine_flags)"); #################################################################################### Bien Cordialement, [cid:image001.png at 01D99939.927BC1F0] [cid:image002.jpg at 01D99939.927BC1F0] Kharroubi Mohamed Senior DevOps/System Engineer Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia mohamed.kharroubi at sofrecom.com www.sofrecom.com Part of the Orange group De : Users De la part de Jehanzaib Younis Envoyé : mercredi 7 juin 2023 00:29 À : OpenSIPS users mailling list Objet : Re: [OpenSIPS-Users] B2B Opensips + RTPEngine Hi there, Can you write an example of how you used rtpengine_offer() ? Regards, Jehanzaib On Wed, Jun 7, 2023 at 3:07 AM > wrote: Hello Community, We are trying to set up an Opensips with RTPEngine in a B2B configuration to handle media processing. There is no scenario for the B2B we’re trying to implement, we’re just using the topology « «top hiding » ! However, regardless of our configuration, the SDP of the INVITE and 200 OK packets is not modified to include the RTPEngine IP address and port How should the RTPEngine be configured in the Opensips.cfg or which function(s) should be called to achieve this? Bien Cordialement, [cid:image001.png at 01D99939.927BC1F0] [cid:image002.jpg at 01D99939.927BC1F0] Kharroubi Mohamed Senior DevOps/System Engineer Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia mohamed.kharroubi at sofrecom.com www.sofrecom.com Part of the Orange group _______________________________________________ Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 2476 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 785 bytes Desc: image002.jpg URL: From brett at nemeroff.com Wed Jun 7 11:43:01 2023 From: brett at nemeroff.com (Brett Nemeroff) Date: Wed, 7 Jun 2023 06:43:01 -0500 Subject: [OpenSIPS-Users] B2B Opensips + RTPEngine In-Reply-To: <9740ec34cd1947ae8a59e6446bf1e442@sofrecom.com> References: <9740ec34cd1947ae8a59e6446bf1e442@sofrecom.com> Message-ID: We are going to need to see a little more of where this is called. It’s worth mentioning that it has to be called at the right time. Simply firing this off doesn’t automatically manage the session. Thanks, Brett On Wed, Jun 7, 2023 at 6:19 AM wrote: > Hello, > > > > So we don’t use that function regarding RTPEngine, but we use the > rtpengine_manage() instead. > > Here is an example of how we use it inside the routing logic : > > > > > #################################################################################### > > $var(rtpengine_flags) = "replace-session-connection replace-origin > in-iface=internal out-iface=external"; > > rtpengine_manage("$var(rtpengine_flags)"); > > #################################################################################### > > > > Bien Cordialement, > > > > *Kharroubi Mohamed* > Senior DevOps/System Engineer > > Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia > > > > mohamed.kharroubi at sofrecom.com > > www.sofrecom.com > > *Part of the Orange group* > > > > *De :* Users *De la part de* Jehanzaib > Younis > *Envoyé :* mercredi 7 juin 2023 00:29 > *À :* OpenSIPS users mailling list > *Objet :* Re: [OpenSIPS-Users] B2B Opensips + RTPEngine > > > > Hi there, > > > > Can you write an example of how you used rtpengine_offer() ? > > > > > Regards, > > Jehanzaib > > > > > > On Wed, Jun 7, 2023 at 3:07 AM wrote: > > Hello Community, > > > > We are trying to set up an Opensips with RTPEngine in a B2B configuration > to handle media processing. There is no scenario for the B2B we’re trying > to implement, we’re just using the topology « «top hiding » ! > > However, regardless of our configuration, the SDP of the INVITE and 200 OK > packets is not modified to include the RTPEngine IP address and port > > > > How should the RTPEngine be configured in the Opensips.cfg or which > function(s) should be called to achieve this? > > Bien Cordialement, > > > > *Kharroubi Mohamed* > Senior DevOps/System Engineer > > Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia > > > > mohamed.kharroubi at sofrecom.com > > www.sofrecom.com > > *Part of the Orange group* > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 2476 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 785 bytes Desc: not available URL: From bogdan at opensips.org Thu Jun 8 07:12:06 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 8 Jun 2023 10:12:06 +0300 Subject: [OpenSIPS-Users] B2B Opensips + RTPEngine In-Reply-To: References: Message-ID: <8abc4bfc-04ec-34a5-2896-d6d0d3184e09@opensips.org> Hi, Which OpenSIPS version do you use? some have auto rtp engaging support via the rtp_relay module. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/6/23 6:06 PM, mohamed.kharroubi at sofrecom.com wrote: > > Hello Community, > > We are trying to set up an Opensips with RTPEngine in a B2B > configuration to handle media processing. There is no scenario for the > B2B we’re trying to implement, we’re just using the topology « «top > hiding » ! > > However, regardless of our configuration, the SDP of the INVITE and > 200 OK packets is not modified to include the RTPEngine IP address and > port > > How should the RTPEngine be configured in the Opensips.cfg or which > function(s) should be called to achieve this? > > Bien Cordialement, > > > > *Kharroubi Mohamed* > Senior DevOps/System Engineer > > Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia > > mohamed.kharroubi at sofrecom.com ** > > www.sofrecom.com > > /Part of the Orange group/ > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 2476 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 785 bytes Desc: not available URL: From morrisedery at gmail.com Fri Jun 2 18:16:13 2023 From: morrisedery at gmail.com (morris edery) Date: Fri, 2 Jun 2023 14:16:13 -0400 Subject: [OpenSIPS-Users] Remove Route Header! In-Reply-To: <7324fcba-b561-54c8-593c-9fb712e986af@opensips.org> References: <7324fcba-b561-54c8-593c-9fb712e986af@opensips.org> Message-ID: Hello , and thanks for the reply, i removed the send_reply(403...) but now on my outbound call Route Header still exist [image: image.png] On Fri, Jun 2, 2023 at 6:13 AM Răzvan Crainea wrote: > Hi, Morris! > > The code you are trying to run removes the Route header for the outgoing > message, but the inbound/received INVITE still has the Route header, > hence loose_route() sees it and denies it. > Do note that loose_route() itself removes the route, if its preloaded, > so if you do want to accept preloaded routes, simply don't drop them :) > (i.e. comment the send_reply(403...)) > > Best regards, > > Răzvan Crainea > OpenSIPS Core Developer > http://www.opensips-solutions.com > > On 6/1/23 20:06, morris edery wrote: > > Hello Team, > > I am trying to remove Route Header (seems like preloaded) > > remove_hf("Route") but it's not being removed. > > > > i tried to put it in several places on the code but no success > > > > if (is_method("INVITE")) > > { > > if (is_present_hf("Route")) > > { > > xlog("removing Route Header: $(hdr(Route)[0])\n"); > > > > remove_hf("Route"); > > xlog ( "Route Header still present?: > > $(hdr(Route)[0])\n"); > > } > > route(RELAY); > > } > > > > > > instead of it goes to > > > > > > if (loose_route()) > > { > > xlog("L_ERR","Attempt to route with preloaded Route's > > [$fu/$tu/$ru/$ci]") > > if (!is_method("ACK")){ > > send_reply("403","Preload Route denied"); > > exit; > > } > > } > > > > > > > > opensips 2.4.8 > > > > > > what i am doing wrong ? > > > > > > > > _______________________________________________ > > Users mailing list > > Users at lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 30978 bytes Desc: not available URL: From mohamed.kharroubi at sofrecom.com Wed Jun 7 12:06:16 2023 From: mohamed.kharroubi at sofrecom.com (mohamed.kharroubi at sofrecom.com) Date: Wed, 7 Jun 2023 12:06:16 +0000 Subject: [OpenSIPS-Users] B2B Opensips + RTPEngine In-Reply-To: References: <9740ec34cd1947ae8a59e6446bf1e442@sofrecom.com> Message-ID: Actually we’re using this part for incoming calls, hope it would shed some light on what we’re trying to do : ################################################################################ route[incoming_call] { # Save the call direction in case we have to handle changes on sdp offer (for RTP Engine only). The AVP var will persist over the SIP transaction $avp(call_direction) = "incoming"; # Create dialog and update profile with callee #route(create_diag_update_profile, $rU); if ($(var(attrs){s.len}) >0) { # We retrieve the group with the attributes orf the dialplan rule $avp(group) = $(var(attrs){s.int}); } else { # No group defined in the diaplan rule so we use usr_preferences avp_db_load("$rU","$avp(group)"); } if (ds_select_domain($avp(group),4)){ route(logger, "L_INFO", "Call from GATEWAY routed to OMS with TGRP"); $var(result) = 1; } if ($var(result) > 0) { # Activate topology hiding if enabled # route(activate_topology_hiding); $var(rtpengine_flags) = "RTP/AVP replace-session-connection replace-origin in-iface=external out-iface=internal ICE=remove"; if (rtpengine_manage("$var(rtpengine_flags)")) t_on_reply("reply_early_offer"); # route(set_on_branch_route); route(branch_route_rtp_proxy); # Arm the branch callback to 'branch_route_rtp_proxy' if we have an RTP engine # route(set_on_branch_route); # route(safe_relay_and_exit); b2b_init_request("top hiding"); exit; } } route[branch_route_rtp_proxy] { if (has_body("application/sdp") && is_method("INVITE")) { # Early offer cases $var(cline) = $(rb{sdp.line,c}); $var(sline) = $(rb{sdp.line,s}); $var(log_msg) = "SDP content: o=" + $(rb{sdp.line,o}) + ", s=" + $var(sline) + " c=" + $var(cline) + ", m=" + $(rb{sdp.line,m}); route(logger, "L_INFO", $var(log_msg)); # Check the call direction if ($avp(call_direction) == "incoming") { $var(rtpengine_flags) = "RTP/AVP replace-session-connection replace-origin in-iface=external out-iface=internal ICE=remove"; if (rtpengine_manage("$var(rtpengine_flags)")) t_on_reply("reply_early_offer"); } else if ($avp(call_direction) == "outgoing") { if ($var(sline) == "s=oms" || $var(sline) == "s=acd") { $var(rtpengine_flags) = "RTP/AVP replace-session-connection replace-origin in-iface=internal out-iface=external ICE=remove"; route(logger, "L_INFO", "BRANCH ROUTE OUTGOING"); if (rtpengine_manage("$var(rtpengine_flags)")) t_on_reply("reply_early_offer"); } else { route(logger, "L_INFO", "No transformation needed on RTP, INVITE containing BToI (case where 2 UACs are linked"); } } } else if (is_method("INVITE") && $avp(call_direction) == "incoming") { # We are in case of late offer we expect the SDP offer later t_on_reply("reply_late_offer"); } } onreply_route[reply_early_offer] { if (has_body("application/sdp") ) { route(logger, "L_INFO", "SDP reply from GATEWAY to OMS for early offer"); rtpengine_manage(); } } onreply_route[reply_late_offer] { if (t_check_status("200") && has_body("application/sdp")){ # We just received a response containing a late offer. We need to do some modification in the offer for the proxy. Only available for incoming calls. $var(rtpengine_flags) = "RTP/AVP replace-session-connection replace-origin in-iface=internal out-iface=external ICE=remove"; rtpengine_manage("$var(rtpengine_flags)"); } else if (has_body("application/sdp") ){ route(logger, "L_INFO", "SDP reply from GATEWAY to OMS for late offer"); rtpengine_manage(); } } ######################################################################## Bien Cordialement, [cid:image001.png at 01D99940.00DF6F60] [cid:image002.jpg at 01D99940.00DF6F60] Kharroubi Mohamed Senior DevOps/System Engineer Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia mohamed.kharroubi at sofrecom.com www.sofrecom.com Part of the Orange group De : Users De la part de Brett Nemeroff Envoyé : mercredi 7 juin 2023 12:43 À : OpenSIPS users mailling list Cc : BARKAOUI Chaker SOFRECOM ; DESGEORGE Guillaume INNOV/IT-S ; GUESMI Amel SOFRECOM Objet : Re: [OpenSIPS-Users] B2B Opensips + RTPEngine We are going to need to see a little more of where this is called. It’s worth mentioning that it has to be called at the right time. Simply firing this off doesn’t automatically manage the session. Thanks, Brett On Wed, Jun 7, 2023 at 6:19 AM > wrote: Hello, So we don’t use that function regarding RTPEngine, but we use the rtpengine_manage() instead. Here is an example of how we use it inside the routing logic : #################################################################################### $var(rtpengine_flags) = "replace-session-connection replace-origin in-iface=internal out-iface=external"; rtpengine_manage("$var(rtpengine_flags)"); #################################################################################### Bien Cordialement, [cid:image001.png at 01D99940.00DF6F60] [cid:image002.jpg at 01D99940.00DF6F60] Kharroubi Mohamed Senior DevOps/System Engineer Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia mohamed.kharroubi at sofrecom.com www.sofrecom.com Part of the Orange group De : Users > De la part de Jehanzaib Younis Envoyé : mercredi 7 juin 2023 00:29 À : OpenSIPS users mailling list > Objet : Re: [OpenSIPS-Users] B2B Opensips + RTPEngine Hi there, Can you write an example of how you used rtpengine_offer() ? Regards, Jehanzaib On Wed, Jun 7, 2023 at 3:07 AM > wrote: Hello Community, We are trying to set up an Opensips with RTPEngine in a B2B configuration to handle media processing. There is no scenario for the B2B we’re trying to implement, we’re just using the topology « «top hiding » ! However, regardless of our configuration, the SDP of the INVITE and 200 OK packets is not modified to include the RTPEngine IP address and port How should the RTPEngine be configured in the Opensips.cfg or which function(s) should be called to achieve this? Bien Cordialement, [cid:image001.png at 01D99940.00DF6F60] [cid:image002.jpg at 01D99940.00DF6F60] Kharroubi Mohamed Senior DevOps/System Engineer Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia mohamed.kharroubi at sofrecom.com www.sofrecom.com Part of the Orange group _______________________________________________ Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 2476 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 785 bytes Desc: image002.jpg URL: From amel.guesmi at sofrecom.com Thu Jun 8 07:28:37 2023 From: amel.guesmi at sofrecom.com (amel.guesmi at sofrecom.com) Date: Thu, 8 Jun 2023 07:28:37 +0000 Subject: [OpenSIPS-Users] B2B Opensips + RTPEngine In-Reply-To: <8abc4bfc-04ec-34a5-2896-d6d0d3184e09@opensips.org> References: <8abc4bfc-04ec-34a5-2896-d6d0d3184e09@opensips.org> Message-ID: <89de04b84dee4823980dc466e384903f@orange.com> Hello, We are using opensips 3.3 Amel De : Users De la part de Bogdan-Andrei Iancu Envoyé : jeudi 8 juin 2023 08:12 À : OpenSIPS users mailling list ; KHARROUBI Mohamed SOFRECOM Objet : Re: [OpenSIPS-Users] B2B Opensips + RTPEngine Hi, Which OpenSIPS version do you use? some have auto rtp engaging support via the rtp_relay module. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/6/23 6:06 PM, mohamed.kharroubi at sofrecom.com wrote: Hello Community, We are trying to set up an Opensips with RTPEngine in a B2B configuration to handle media processing. There is no scenario for the B2B we're trying to implement, we're just using the topology « «top hiding » ! However, regardless of our configuration, the SDP of the INVITE and 200 OK packets is not modified to include the RTPEngine IP address and port How should the RTPEngine be configured in the Opensips.cfg or which function(s) should be called to achieve this? Bien Cordialement, [cid:image001.png at 01D999E3.2CEFA8B0] [cid:image002.jpg at 01D999E3.2CEFA8B0] Kharroubi Mohamed Senior DevOps/System Engineer Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia mohamed.kharroubi at sofrecom.com www.sofrecom.com Part of the Orange group _______________________________________________ Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 2476 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 785 bytes Desc: image002.jpg URL: From razvan at opensips.org Thu Jun 8 08:16:06 2023 From: razvan at opensips.org (=?UTF-8?Q?R=c4=83zvan_Crainea?=) Date: Thu, 8 Jun 2023 11:16:06 +0300 Subject: [OpenSIPS-Users] Remove Route Header! In-Reply-To: References: <7324fcba-b561-54c8-593c-9fb712e986af@opensips.org> Message-ID: <30788e86-9142-c716-6d03-fcf1d8d6acd6@opensips.org> Perhaps you are adding it yourself somewhere in the script. Are you calling record_route() in the script? Best regards, Răzvan Crainea OpenSIPS Core Developer http://www.opensips-solutions.com On 6/2/23 23:19, morris edery wrote: > i put the remove_hf()  below > > it will remove from the header   Contact and User-Agent and will rename > the new User-Agent but Route won't remove and still appear on the > outgoing invite message > > route[RELAY] { > >      remove_hf("Route"); >      remove_hf("Contact"); >      remove_hf("User-Agent"); >      append_hf("User-Agent: New Agent"); > >     if (!t_relay()) { >          sl_reply_error(); >             } >             exit; >     } > > On Fri, Jun 2, 2023 at 6:13 AM Răzvan Crainea > wrote: > > Hi, Morris! > > The code you are trying to run removes the Route header for the > outgoing > message, but the inbound/received INVITE still has the Route header, > hence loose_route() sees it and denies it. > Do note that loose_route() itself removes the route, if its preloaded, > so if you do want to accept preloaded routes, simply don't drop them :) > (i.e. comment the send_reply(403...)) > > Best regards, > > Răzvan Crainea > OpenSIPS Core Developer > http://www.opensips-solutions.com > > On 6/1/23 20:06, morris edery wrote: > > Hello Team, > > I am trying to remove Route Header (seems like preloaded) > > remove_hf("Route")  but  it's not being removed. > > > > i tried to put it in several places on the code but no success > > > >    if (is_method("INVITE")) > >                  { > >                    if (is_present_hf("Route")) > >                    { > >                      xlog("removing Route Header: > $(hdr(Route)[0])\n"); > > > >                       remove_hf("Route"); > >                      xlog ( "Route Header still present?: > > $(hdr(Route)[0])\n"); > >                    } > >                   route(RELAY); > >                  } > > > > > > instead of it goes to > > > > > >      if (loose_route()) > >                  { > >                    xlog("L_ERR","Attempt to route with preloaded > Route's > > [$fu/$tu/$ru/$ci]") > >                      if (!is_method("ACK")){ > >                       send_reply("403","Preload Route denied"); > >                      exit; > >                      } > >                  } > > > > > > > > opensips 2.4.8 > > > > > > what i am doing wrong ? > > > > > > > > _______________________________________________ > > Users mailing list > > Users at lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From razvan at opensips.org Thu Jun 8 08:18:01 2023 From: razvan at opensips.org (=?UTF-8?Q?R=c4=83zvan_Crainea?=) Date: Thu, 8 Jun 2023 11:18:01 +0300 Subject: [OpenSIPS-Users] Problem in provisional media leg using OpenSIPS 3.2 In-Reply-To: References: Message-ID: <3cc46024-07d6-f35a-1f53-e669d7381ebf@opensips.org> Hi, Virgilio! Could it be your B2B scenario? Are you explicitly handling that re-INVITE in it? Best regards, Răzvan Crainea OpenSIPS Core Developer http://www.opensips-solutions.com On 5/15/23 21:20, Virgílio Cunha wrote: > Hi there! > > I'm using the B2B module on OpenSIPS 3.2, and when I call b2b_bridge() > with provisional media all seems ok. > It's created a leg for provisional media and another one for the > destination entity, but when the provisional media is on call and the > destination is still ringing, if the call originator sends a re-invite > (for codec renegotiation or puts the call on hold), when the provisional > media server answer with 200 OK, the opensips is creating a new leg > (same as the destination leg) and terminates the dialogs sending a BYE > to the provisional media server and to originator call. > > Why does opensips create another leg? > Is there anything I can do to prevent this behavior? > > Thanks, > Virgílio Cunha > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From razvan at opensips.org Thu Jun 8 08:19:19 2023 From: razvan at opensips.org (=?UTF-8?Q?R=c4=83zvan_Crainea?=) Date: Thu, 8 Jun 2023 11:19:19 +0300 Subject: [OpenSIPS-Users] opensips 2.4 - Remove a fieled from the header From In-Reply-To: <22333_1684772378_646B961A_22333_415_23_e8704c8c0fce44038eda8dabe7b3a9a4@orange.com> References: <22333_1684772378_646B961A_22333_415_23_e8704c8c0fce44038eda8dabe7b3a9a4@orange.com> Message-ID: <22ee92f9-35fe-9a33-64bf-d1e4a83cdde4@opensips.org> Hi, Amel! You must use the uac_replace_from() [1] function, replacing the URI with a new one, that does not contain the field you want. [1] https://opensips.org/docs/modules/3.3.x/uac.html#func_uac_replace_from Best regards, Răzvan Crainea OpenSIPS Core Developer http://www.opensips-solutions.com On 5/22/23 19:19, amel.guesmi at sofrecom.com wrote: > Hello mates, > > I need your help please. > > I want to remove a field from the header « From » > > I can remove the whole header by loading the *sipmsgops* and the > function Remove_hd > > But i did not find a way how to remove a specefic field in the From. > > Could you please help ? > > Thank you > > Best regards > > Amel > > _________________________________________________________________________________________________________________________ > > Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc > pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler > a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, > Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci. > > This message and its attachments may contain confidential or privileged information that may be protected by law; > they should not be distributed, used or copied without authorisation. > If you have received this email in error, please notify the sender and delete this message and its attachments. > As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. > Thank you. > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From razvan at opensips.org Thu Jun 8 08:21:40 2023 From: razvan at opensips.org (=?UTF-8?Q?R=c4=83zvan_Crainea?=) Date: Thu, 8 Jun 2023 11:21:40 +0300 Subject: [OpenSIPS-Users] How to configure httpd module thread pool In-Reply-To: References: Message-ID: <446bdfca-a6cb-d656-12e3-b29574dd31ac@opensips.org> Hi, Vijay! Unfortunately we cannot use the threading model of the libmicrohttpd. Check here[1] for more information. [1] https://opensips.org/docs/modules/3.3.x/httpd.html#idp5550720 Best regards, Răzvan Crainea OpenSIPS Core Developer http://www.opensips-solutions.com On 5/27/23 11:45, vijay kumar wrote: > Execute multiple MI commands simultaneously using mi_http or > mi_xmlrpc_ng. as of now not httpd module is not serving request > simultaneously. > > Opensips version 3.3.2 > > > 1. what is thread mode for libmicrohttpd in httpd module > 2. what is the default thread pool size > 3. how can we configure the thread pool size for the same. > > https://exotel.com/ > *CONFIDENTIALITY NOTE:* This e-mail is intended only for the person or > entity to which it is addressed and contains information that is > privileged, confidential, or otherwise protected from disclosure. > Dissemination, distribution, or copying of this e-mail or the > information contained herein by anyone other than the intended > recipient, or an employee or agent responsible for delivering the > message to the intended recipient, is prohibited. If you have received > this e-mail in error, please delete this message and immediately notify > the sender by e-mail. > *NOTE:* This e-mail does not constitute an electronic signature and the > sender does not intend to enter into any agreement by way of this > e-mail, unless otherwise expressly provided by the sender within this > e-mail. > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From bogdan at opensips.org Thu Jun 8 12:23:53 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 8 Jun 2023 15:23:53 +0300 Subject: [OpenSIPS-Users] OpenSIPS eBootcamp training 2023 Message-ID: <09bde5bc-9d07-3ee6-c3bd-154885a7916c@opensips.org> Asia-Pacific session 16-27 October, 8am-12pm GMT Europe-Americas session 06-17 November, 15pm -19pm GMT * * *Study smarter, not harder! * Take advantage of the *OpenSIPS Bootcamp* and improve your OpenSIPS skills - an in-cloud training, a ten days, 4 hours per day (40 hours) intensive and practical training, covering installation, configuration and administration on *OpenSIPS 3.4*. All the knowledge transferred to the students will be strongly backed up by practice sessions where you will get hands-on experience in handling OpenSIPS. The training is structured to be offer 50% / 50% between the theoretical and practical sessions. Check Syllabus *Early Birds open* The Early Bird 10% discount is available for registrations before /*31th of July 2023*/, so do not miss the opportunity. The number of seats is limited, so be sure and book a seat now. Keep in mind that a 10% group discount is also available - grab your work mate and start learning more OpenSIPS together . . Register Now *Certified training saves time and money* OpenSIPS mistakes are easily avoided if you get proper training! Companies that use OpenSIPS waste time and money when they don't have a trained engineer on staff. Searching on Google, waiting on IRC, even the latency in mailing list replies takes it's toll over time. Take this rare opportunity to train your employees with the project members themselves. Any questions? do not hesitate to contact us ! ------------------------------------------------------------------------ You received this email as part of your relationship with the OpenSIPS Project. If you do not want to receive any more news, please email to unsubscribe . -- Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From denys.pozniak at gmail.com Fri Jun 9 10:30:35 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Fri, 9 Jun 2023 13:30:35 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: <87133608-e630-20b5-7e45-e8564ab9ae9d@opensips.org> References: <87133608-e630-20b5-7e45-e8564ab9ae9d@opensips.org> Message-ID: Hello! Thank you! The mechanism with a single tag for the dispatcher works as it should. But I still have a number of questions on related topics: 1) Should I declare this common dispatcher tag in the parameters of the clusterer module? Then, after the start, the tag on the active node will be set by an external script. modparam("clusterer", "sharing_tag", "dispatcher/1=backup") modparam("dispatcher", "cluster_sharing_tag", "dispatcher") 2) I also want to replicate transactions and dialogs, so should I declare own tags for each cluster node? Or like with a dispatcher do I need one common? modparam("clusterer", "sharing_tag", "anycast1/1=active") modparam("clusterer", "sharing_tag", "anycast2/1=backup") modparam("clusterer", "sharing_tag", "anycast3/1=backup") modparam("clusterer", "sharing_tag", "anycast4/1=backup") modparam("dialog", "dialog_replication_cluster", 1) modparam("tm", "tm_replication_cluster", 1) modparam("dispatcher", "cluster_sharing_tag", "dispatcher") вт, 6 июн. 2023 г. в 18:08, Bogdan-Andrei Iancu : > Hi Denys, > > Even better if you have only one active opensips instance - in this case > you can use only one sharing-tag across all nodes/servers in the dispatcher > cluster, tag to point to the active instance. So, whenever you point the > traffic to a certain opensips instance, be sure to make the tag active on > that instance too. > > https://opensips.org/html/docs/modules/3.2.x/clusterer.html#mi_clusterer_shtag_set_active > > Best regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/6/23 4:11 PM, Denys Pozniak wrote: > > Hello! > > >So, in the dispatcher cluster you have some active nodes, but also some > stand-by, right ? > All cluster nodes have the same dynamic routing protocol metric, so only > one random node can receive traffic from the network point of view. > Well, accordingly, only the "active" node can accept replays to SIP > OPTIONS from the dispatcher. And all other nodes see the dispatcher peers > as not alive. > It's more a question of how to make other nodes believe the status from > the "active" node and not influence it. > > >And I see you did not set the this cluster_sharing_tag modparam > I have this option set, you probably didn't notice in the initial thread. > modparam("dispatcher", "cluster_sharing_tag", "anycast1") > > > вт, 6 июн. 2023 г. в 11:37, Bogdan-Andrei Iancu : > >> Hi Denys, >> >> So, in the dispatcher cluster you have some active nodes, but also some >> stand-by, right ? >> >> And I see you did not set the this cluster_sharing_tag modparam [1] - >> check it out, it may help you in deciding which nodes may broadcast the >> state inside the cluster (for dispatcher) >> >> [1] >> https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/2/23 5:39 PM, Denys Pozniak wrote: >> >> Hello! >> >> I need advice on how best to implement the anycast + clusterer + >> dispatcher scheme. >> In short, we want to build an additional upper layer in front of our sip >> legacy servers, on which traffic balancing will take place. >> Most likely it will look like several nodes of the same clusterer with a >> single public anycast address, from which traffic will also go to the >> public interfaces of the legacy sip servers (via the dispatcher list). >> During testing, it turned out that if we include the dispatcher module in >> the clusterer, then the inactive nodes of the cluster begin to affect the >> general state of the legacy sip servers on active node, since replays to >> SIP OPTIONS reach only one active node, though all nodes ping. >> >> Thus, the sip server status is constantly flapping on active node. >> Is it possible to somehow make all other nodes believe the active node at >> a given time and inherit its dispatcher state? >> >> *node1:* >> modparam("clusterer", "sharing_tag", "anycast1/1=active") >> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >> >> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >> >> modparam("dispatcher", "db_url", "text:///etc/opensips/dbtext") >> modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") >> modparam("dispatcher", "script_attrs_avp", "$avp(dsp_script_attrs_avp)") >> modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") >> modparam("dispatcher", "ds_ping_method", "OPTIONS") >> modparam("dispatcher", "ds_ping_from", "sip:ping at dispatcher") >> modparam("dispatcher", "ds_ping_interval", 10) >> modparam("dispatcher", "ds_probing_threshold", 2) >> modparam("dispatcher", "ds_probing_mode", 1) >> modparam("dispatcher", "options_reply_codes", "501,403,404,400,200") >> modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") >> modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") >> modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") >> modparam("dispatcher", "persistent_state", 1) >> modparam("dispatcher", "cluster_id", 1) >> modparam("dispatcher", "cluster_probing_mode", "by-shtag") >> >> *dispatcher:* >> id(int,auto) setid(int) destination(string) socket(string,null) >> state(int) probe_mode(int) weight(string) priority(int) attrs(string) >> description(string) >> 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' >> 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' >> 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' >> >> Sure, it is possible to attach an additional public address to each node >> and do not share dispatcher state, but still I would like to somehow find a >> solution for the current scheme >> >> -- >> >> BR, >> Denys Pozniak >> >> >> >> _______________________________________________ >> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> > > -- > > BR, > Denys Pozniak > > > > -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Mon Jun 12 07:24:19 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Mon, 12 Jun 2023 10:24:19 +0300 Subject: [OpenSIPS-Users] B2B Opensips + RTPEngine In-Reply-To: <89de04b84dee4823980dc466e384903f@orange.com> References: <8abc4bfc-04ec-34a5-2896-d6d0d3184e09@opensips.org> <89de04b84dee4823980dc466e384903f@orange.com> Message-ID: <58768896-99d3-8997-389c-50179845cc88@opensips.org> Hi Amel, With 3.3 you can use the this https://opensips.org/docs/modules/3.3.x/rtp_relay.html#func_rtp_relay_engage - the engage will take care of all sequential (in the b2b scenario) insertion of the rtp relay you use. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/8/23 10:28 AM, amel.guesmi at sofrecom.com wrote: > > Hello, > > We are using opensips 3.3 > > Amel > > *De :*Users *De la part de* > Bogdan-Andrei Iancu > *Envoyé :* jeudi 8 juin 2023 08:12 > *À :* OpenSIPS users mailling list ; > KHARROUBI Mohamed SOFRECOM > *Objet :* Re: [OpenSIPS-Users] B2B Opensips + RTPEngine > > Hi, > > Which OpenSIPS version do you use? some have auto rtp engaging support > via the rtp_relay module. > > Regards, > > Bogdan-Andrei Iancu > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/6/23 6:06 PM, mohamed.kharroubi at sofrecom.com > wrote: > > Hello Community, > > We are trying to set up an Opensips with RTPEngine in a B2B > configuration to handle media processing. There is no scenario for > the B2B we’re trying to implement, we’re just using the topology > « «top hiding » ! > > However, regardless of our configuration, the SDP of the INVITE > and 200 OK packets is not modified to include the RTPEngine IP > address and port > > How should the RTPEngine be configured in the Opensips.cfg or > which function(s) should be called to achieve this? > > > Bien Cordialement, > > > > *Kharroubi Mohamed* > Senior DevOps/System Engineer > > Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia > > mohamed.kharroubi at sofrecom.com > > www.sofrecom.com > > /Part of the Orange group/ > > > > _______________________________________________ > > Users mailing list > > Users at lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 2476 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 785 bytes Desc: not available URL: From bogdan at opensips.org Mon Jun 12 07:30:46 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Mon, 12 Jun 2023 10:30:46 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: References: <87133608-e630-20b5-7e45-e8564ab9ae9d@opensips.org> Message-ID: Hi Denys, 1) yes 2) you can use the same sharing tag for multiple modules, as time as from logical perspective, the switching of the tags fits all the cases. For dialogs, you may need one tag per node (to remember which node created the dialog), so you may not be able to reuse here. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/9/23 1:30 PM, Denys Pozniak wrote: > Hello! > Thank you! The mechanism with a single tag for the dispatcher works as > it should. > > But I still have a number of questions on related topics: > 1) Should I declare this common dispatcher tag in the parameters of > the clusterer module? > Then, after the start, the tag on the active node will be set by an > external script. > >  modparam("clusterer", "sharing_tag", "dispatcher/1=backup") >  modparam("dispatcher", "cluster_sharing_tag", "dispatcher") > > 2) I also want to replicate transactions and dialogs, so should I > declare own tags for each cluster node? > Or like with a dispatcher do I need one common? > > modparam("clusterer", "sharing_tag", "anycast1/1=active") > modparam("clusterer", "sharing_tag", "anycast2/1=backup") > modparam("clusterer", "sharing_tag", "anycast3/1=backup") > modparam("clusterer", "sharing_tag", "anycast4/1=backup") > modparam("dialog", "dialog_replication_cluster", 1) > modparam("tm", "tm_replication_cluster", 1) > modparam("dispatcher", "cluster_sharing_tag", "dispatcher") > > вт, 6 июн. 2023 г. в 18:08, Bogdan-Andrei Iancu >: > > Hi Denys, > > Even better if you have only one active opensips instance - in > this case you can use only one sharing-tag across all > nodes/servers in the dispatcher cluster, tag to point to the > active instance. So, whenever you point the traffic to a certain > opensips instance, be sure to make the tag active on that instance > too. > https://opensips.org/html/docs/modules/3.2.x/clusterer.html#mi_clusterer_shtag_set_active > > > Best regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/6/23 4:11 PM, Denys Pozniak wrote: >> Hello! >> >> >So, in the dispatcher cluster you have some active nodes, but >> also some stand-by, right ? >> All cluster nodes have the same dynamic routing protocol metric, >> so only one random node can receive traffic from the network >> point of view. >> Well, accordingly, only the "active" node can accept replays to >> SIP OPTIONS from the dispatcher. And all other nodes see the >> dispatcher peers as not alive. >> It's more a question of how to make other nodes believe the >> status from the "active" node and not influence it. >> >> >And I see you did not set the this cluster_sharing_tag modparam >> I have this option set, you probably didn't notice in the initial >> thread. >> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >> >> >> вт, 6 июн. 2023 г. в 11:37, Bogdan-Andrei Iancu >> >: >> >> Hi Denys, >> >> So, in the dispatcher cluster you have some active nodes, but >> also some stand-by, right ? >> >> And I see you did not set the this cluster_sharing_tag >> modparam [1] - check it out, it may help you in deciding >> which nodes may broadcast the state inside the cluster (for >> dispatcher) >> >> [1] >> https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag >> >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/2/23 5:39 PM, Denys Pozniak wrote: >>> Hello! >>> >>> I need advice on how best to implement the anycast + >>> clusterer + dispatcher scheme. >>> In short, we want to build an additional upper layer in >>> front of our sip legacy servers, on which traffic balancing >>> will take place. >>> Most likely it will look like several nodes of the same >>> clusterer with a single public anycast address, from which >>> traffic will also go to the public interfaces of the legacy >>> sip servers (via the dispatcher list). >>> During testing, it turned out that if we include the >>> dispatcher module in the clusterer, then the inactive nodes >>> of the cluster begin to affect the general state of the >>> legacy sip servers on active node, since replays to SIP >>> OPTIONS reach only one active node, though all nodes ping. >>> >>> Thus, the sip server status is constantly flapping on active >>> node. >>> Is it possible to somehow make all other nodes believe the >>> active node at a given time and inherit its dispatcher state? >>> >>> *node1:* >>> modparam("clusterer", "sharing_tag", "anycast1/1=active") >>> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >>> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >>> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >>> >>> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >>> >>> modparam("dispatcher", "db_url", "text:///etc/opensips/dbtext") >>> modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") >>> modparam("dispatcher", "script_attrs_avp", >>> "$avp(dsp_script_attrs_avp)") >>> modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") >>> modparam("dispatcher", "ds_ping_method", "OPTIONS") >>> modparam("dispatcher", "ds_ping_from", "sip:ping at dispatcher") >>> modparam("dispatcher", "ds_ping_interval", 10) >>> modparam("dispatcher", "ds_probing_threshold", 2) >>> modparam("dispatcher", "ds_probing_mode", 1) >>> modparam("dispatcher", "options_reply_codes", >>> "501,403,404,400,200") >>> modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") >>> modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") >>> modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") >>> modparam("dispatcher", "persistent_state", 1) >>> modparam("dispatcher", "cluster_id", 1) >>> modparam("dispatcher", "cluster_probing_mode", "by-shtag") >>> >>> *dispatcher:* >>> id(int,auto) setid(int) destination(string) >>> socket(string,null) state(int) probe_mode(int) >>> weight(string) priority(int) attrs(string) description(string) >>> 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' >>> 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' >>> 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' >>> >>> Sure, it is possible to attach an additional public address >>> to each node and do not share dispatcher state, but still I >>> would like to somehow find a solution for the current scheme >>> >>> -- >>> >>> BR, >>> Denys Pozniak >>> >>> >>> >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> >> -- >> >> BR, >> Denys Pozniak >> >> > > > > -- > > BR, > Denys Pozniak > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From denys.pozniak at gmail.com Mon Jun 12 10:37:28 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Mon, 12 Jun 2023 13:37:28 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: References: <87133608-e630-20b5-7e45-e8564ab9ae9d@opensips.org> Message-ID: Hello! Thank you for your help! >2) you can use the same sharing tag for multiple modules, as time as from logical perspective, the switching of the tags fits all the cases. For dialogs, you may need one tag per node (to remember which node created the dialog), so you may not be able to reuse here. Do I understand correctly that when creating a dialog on a node, an active tag will be attached to it. And if this node falls out of the cluster, then this tag will be automatically activated like some other node and all the dialog information (variables) will be available on it? There is also a question about transactions. How will the response be handled if the owner of the transaction is not available? пн, 12 июн. 2023 г. в 10:30, Bogdan-Andrei Iancu : > Hi Denys, > > 1) yes > > 2) you can use the same sharing tag for multiple modules, as time as from > logical perspective, the switching of the tags fits all the cases. For > dialogs, you may need one tag per node (to remember which node created the > dialog), so you may not be able to reuse here. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/9/23 1:30 PM, Denys Pozniak wrote: > > Hello! > Thank you! The mechanism with a single tag for the dispatcher works as it > should. > > But I still have a number of questions on related topics: > 1) Should I declare this common dispatcher tag in the parameters of the > clusterer module? > Then, after the start, the tag on the active node will be set by an > external script. > > modparam("clusterer", "sharing_tag", "dispatcher/1=backup") > modparam("dispatcher", "cluster_sharing_tag", "dispatcher") > > 2) I also want to replicate transactions and dialogs, so should I declare > own tags for each cluster node? > Or like with a dispatcher do I need one common? > > modparam("clusterer", "sharing_tag", "anycast1/1=active") > modparam("clusterer", "sharing_tag", "anycast2/1=backup") > modparam("clusterer", "sharing_tag", "anycast3/1=backup") > modparam("clusterer", "sharing_tag", "anycast4/1=backup") > modparam("dialog", "dialog_replication_cluster", 1) > modparam("tm", "tm_replication_cluster", 1) > modparam("dispatcher", "cluster_sharing_tag", "dispatcher") > > вт, 6 июн. 2023 г. в 18:08, Bogdan-Andrei Iancu : > >> Hi Denys, >> >> Even better if you have only one active opensips instance - in this case >> you can use only one sharing-tag across all nodes/servers in the dispatcher >> cluster, tag to point to the active instance. So, whenever you point the >> traffic to a certain opensips instance, be sure to make the tag active on >> that instance too. >> >> https://opensips.org/html/docs/modules/3.2.x/clusterer.html#mi_clusterer_shtag_set_active >> >> Best regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/6/23 4:11 PM, Denys Pozniak wrote: >> >> Hello! >> >> >So, in the dispatcher cluster you have some active nodes, but also some >> stand-by, right ? >> All cluster nodes have the same dynamic routing protocol metric, so only >> one random node can receive traffic from the network point of view. >> Well, accordingly, only the "active" node can accept replays to SIP >> OPTIONS from the dispatcher. And all other nodes see the dispatcher peers >> as not alive. >> It's more a question of how to make other nodes believe the status from >> the "active" node and not influence it. >> >> >And I see you did not set the this cluster_sharing_tag modparam >> I have this option set, you probably didn't notice in the initial thread. >> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >> >> >> вт, 6 июн. 2023 г. в 11:37, Bogdan-Andrei Iancu : >> >>> Hi Denys, >>> >>> So, in the dispatcher cluster you have some active nodes, but also some >>> stand-by, right ? >>> >>> And I see you did not set the this cluster_sharing_tag modparam [1] - >>> check it out, it may help you in deciding which nodes may broadcast the >>> state inside the cluster (for dispatcher) >>> >>> [1] >>> https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/2/23 5:39 PM, Denys Pozniak wrote: >>> >>> Hello! >>> >>> I need advice on how best to implement the anycast + clusterer + >>> dispatcher scheme. >>> In short, we want to build an additional upper layer in front of our sip >>> legacy servers, on which traffic balancing will take place. >>> Most likely it will look like several nodes of the same clusterer with a >>> single public anycast address, from which traffic will also go to the >>> public interfaces of the legacy sip servers (via the dispatcher list). >>> During testing, it turned out that if we include the dispatcher module >>> in the clusterer, then the inactive nodes of the cluster begin to affect >>> the general state of the legacy sip servers on active node, since replays >>> to SIP OPTIONS reach only one active node, though all nodes ping. >>> >>> Thus, the sip server status is constantly flapping on active node. >>> Is it possible to somehow make all other nodes believe the active node >>> at a given time and inherit its dispatcher state? >>> >>> *node1:* >>> modparam("clusterer", "sharing_tag", "anycast1/1=active") >>> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >>> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >>> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >>> >>> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >>> >>> modparam("dispatcher", "db_url", "text:///etc/opensips/dbtext") >>> modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") >>> modparam("dispatcher", "script_attrs_avp", "$avp(dsp_script_attrs_avp)") >>> modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") >>> modparam("dispatcher", "ds_ping_method", "OPTIONS") >>> modparam("dispatcher", "ds_ping_from", "sip:ping at dispatcher") >>> modparam("dispatcher", "ds_ping_interval", 10) >>> modparam("dispatcher", "ds_probing_threshold", 2) >>> modparam("dispatcher", "ds_probing_mode", 1) >>> modparam("dispatcher", "options_reply_codes", "501,403,404,400,200") >>> modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") >>> modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") >>> modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") >>> modparam("dispatcher", "persistent_state", 1) >>> modparam("dispatcher", "cluster_id", 1) >>> modparam("dispatcher", "cluster_probing_mode", "by-shtag") >>> >>> *dispatcher:* >>> id(int,auto) setid(int) destination(string) socket(string,null) >>> state(int) probe_mode(int) weight(string) priority(int) attrs(string) >>> description(string) >>> 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' >>> 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' >>> 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' >>> >>> Sure, it is possible to attach an additional public address to each node >>> and do not share dispatcher state, but still I would like to somehow find a >>> solution for the current scheme >>> >>> -- >>> >>> BR, >>> Denys Pozniak >>> >>> >>> >>> _______________________________________________ >>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> >>> >> >> -- >> >> BR, >> Denys Pozniak >> >> >> >> > > -- > > BR, > Denys Pozniak > > > > -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From denys.pozniak at gmail.com Mon Jun 12 14:19:06 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Mon, 12 Jun 2023 17:19:06 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: References: <87133608-e630-20b5-7e45-e8564ab9ae9d@opensips.org> Message-ID: Judging by the documentation, the activation of the tag of a non-working node in the context of dialogs should be handled by an external system. So it won't happen automatically, right? "If node 1 fails, the monitoring system (also responsible for the Anycast management and BGP updates) will pick one of the remaining node in the anycast group and it will activate the “node_1” tag on it. So, this new node will became owner and responsible for the calls created on former node 1." пн, 12 июн. 2023 г. в 13:37, Denys Pozniak : > Hello! > Thank you for your help! > > >2) you can use the same sharing tag for multiple modules, as time as > from logical perspective, the switching of the tags fits all the cases. For > dialogs, you may need one tag per node (to remember which node created the > dialog), so you may not be able to reuse here. > Do I understand correctly that when creating a dialog on a node, an active > tag will be attached to it. > And if this node falls out of the cluster, then this tag will be > automatically activated like some other node and all the dialog information > (variables) will be available on it? > > There is also a question about transactions. How will the response be > handled if the owner of the transaction is not available? > > > пн, 12 июн. 2023 г. в 10:30, Bogdan-Andrei Iancu : > >> Hi Denys, >> >> 1) yes >> >> 2) you can use the same sharing tag for multiple modules, as time as from >> logical perspective, the switching of the tags fits all the cases. For >> dialogs, you may need one tag per node (to remember which node created the >> dialog), so you may not be able to reuse here. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/9/23 1:30 PM, Denys Pozniak wrote: >> >> Hello! >> Thank you! The mechanism with a single tag for the dispatcher works as it >> should. >> >> But I still have a number of questions on related topics: >> 1) Should I declare this common dispatcher tag in the parameters of the >> clusterer module? >> Then, after the start, the tag on the active node will be set by an >> external script. >> >> modparam("clusterer", "sharing_tag", "dispatcher/1=backup") >> modparam("dispatcher", "cluster_sharing_tag", "dispatcher") >> >> 2) I also want to replicate transactions and dialogs, so should I declare >> own tags for each cluster node? >> Or like with a dispatcher do I need one common? >> >> modparam("clusterer", "sharing_tag", "anycast1/1=active") >> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >> modparam("dialog", "dialog_replication_cluster", 1) >> modparam("tm", "tm_replication_cluster", 1) >> modparam("dispatcher", "cluster_sharing_tag", "dispatcher") >> >> вт, 6 июн. 2023 г. в 18:08, Bogdan-Andrei Iancu : >> >>> Hi Denys, >>> >>> Even better if you have only one active opensips instance - in this case >>> you can use only one sharing-tag across all nodes/servers in the dispatcher >>> cluster, tag to point to the active instance. So, whenever you point the >>> traffic to a certain opensips instance, be sure to make the tag active on >>> that instance too. >>> >>> https://opensips.org/html/docs/modules/3.2.x/clusterer.html#mi_clusterer_shtag_set_active >>> >>> Best regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/6/23 4:11 PM, Denys Pozniak wrote: >>> >>> Hello! >>> >>> >So, in the dispatcher cluster you have some active nodes, but also some >>> stand-by, right ? >>> All cluster nodes have the same dynamic routing protocol metric, so only >>> one random node can receive traffic from the network point of view. >>> Well, accordingly, only the "active" node can accept replays to SIP >>> OPTIONS from the dispatcher. And all other nodes see the dispatcher peers >>> as not alive. >>> It's more a question of how to make other nodes believe the status from >>> the "active" node and not influence it. >>> >>> >And I see you did not set the this cluster_sharing_tag modparam >>> I have this option set, you probably didn't notice in the initial thread. >>> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >>> >>> >>> вт, 6 июн. 2023 г. в 11:37, Bogdan-Andrei Iancu : >>> >>>> Hi Denys, >>>> >>>> So, in the dispatcher cluster you have some active nodes, but also some >>>> stand-by, right ? >>>> >>>> And I see you did not set the this cluster_sharing_tag modparam [1] - >>>> check it out, it may help you in deciding which nodes may broadcast the >>>> state inside the cluster (for dispatcher) >>>> >>>> [1] >>>> https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> https://www.siphub.com >>>> >>>> On 6/2/23 5:39 PM, Denys Pozniak wrote: >>>> >>>> Hello! >>>> >>>> I need advice on how best to implement the anycast + clusterer + >>>> dispatcher scheme. >>>> In short, we want to build an additional upper layer in front of our >>>> sip legacy servers, on which traffic balancing will take place. >>>> Most likely it will look like several nodes of the same clusterer with >>>> a single public anycast address, from which traffic will also go to the >>>> public interfaces of the legacy sip servers (via the dispatcher list). >>>> During testing, it turned out that if we include the dispatcher module >>>> in the clusterer, then the inactive nodes of the cluster begin to affect >>>> the general state of the legacy sip servers on active node, since replays >>>> to SIP OPTIONS reach only one active node, though all nodes ping. >>>> >>>> Thus, the sip server status is constantly flapping on active node. >>>> Is it possible to somehow make all other nodes believe the active node >>>> at a given time and inherit its dispatcher state? >>>> >>>> *node1:* >>>> modparam("clusterer", "sharing_tag", "anycast1/1=active") >>>> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >>>> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >>>> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >>>> >>>> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >>>> >>>> modparam("dispatcher", "db_url", "text:///etc/opensips/dbtext") >>>> modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") >>>> modparam("dispatcher", "script_attrs_avp", "$avp(dsp_script_attrs_avp)") >>>> modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") >>>> modparam("dispatcher", "ds_ping_method", "OPTIONS") >>>> modparam("dispatcher", "ds_ping_from", "sip:ping at dispatcher") >>>> modparam("dispatcher", "ds_ping_interval", 10) >>>> modparam("dispatcher", "ds_probing_threshold", 2) >>>> modparam("dispatcher", "ds_probing_mode", 1) >>>> modparam("dispatcher", "options_reply_codes", "501,403,404,400,200") >>>> modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") >>>> modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") >>>> modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") >>>> modparam("dispatcher", "persistent_state", 1) >>>> modparam("dispatcher", "cluster_id", 1) >>>> modparam("dispatcher", "cluster_probing_mode", "by-shtag") >>>> >>>> *dispatcher:* >>>> id(int,auto) setid(int) destination(string) socket(string,null) >>>> state(int) probe_mode(int) weight(string) priority(int) attrs(string) >>>> description(string) >>>> 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' >>>> 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' >>>> 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' >>>> >>>> Sure, it is possible to attach an additional public address to each >>>> node and do not share dispatcher state, but still I would like to somehow >>>> find a solution for the current scheme >>>> >>>> -- >>>> >>>> BR, >>>> Denys Pozniak >>>> >>>> >>>> >>>> _______________________________________________ >>>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>>> >>>> >>> >>> -- >>> >>> BR, >>> Denys Pozniak >>> >>> >>> >>> >> >> -- >> >> BR, >> Denys Pozniak >> >> >> >> > > -- > > BR, > Denys Pozniak > > > -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From nutxase at proton.me Mon Jun 12 16:17:40 2023 From: nutxase at proton.me (nutxase) Date: Mon, 12 Jun 2023 16:17:40 +0000 Subject: [OpenSIPS-Users] Path support workaround Message-ID: Hi Guys So i am using a wss client and sending registration via mid_registrar to asterisk(pjsip) and all works fine except on inbound calls we get a lot of errors and googling has pointed me to this link https://issues.asterisk.org/jira/browse/ASTERISK-28211 here are the errors i get Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:msg_send: send() to xxxxxx:32900 for proto wss/6 failed Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:nh_timer: sip msg_send failed! my question is, does anyone have a work around for this? as currently inbound calls do not work properly :( Sent with [Proton Mail](https://proton.me/) secure email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 06:02:50 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 09:02:50 +0300 Subject: [OpenSIPS-Users] Path support workaround In-Reply-To: References: Message-ID: <2549f6b7-f2c1-b4e9-1947-3a38d04bf8cc@opensips.org> Hi, The error you get from OpenSIPS is about its inability to send a message to a certain WSS destination. This may be because: 1) the actual destination is wrong - you know the IP, check if it make sense, maybe there are some end-user nat issues 2) as WSS is TCP based, the original connection is down and opensips is not able to create a new one from server side. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/12/23 7:17 PM, nutxase via Users wrote: > Hi Guys > > So i am using a wss client and sending registration via mid_registrar > to asterisk(pjsip) and all works fine except on inbound calls we get a > lot of errors and googling has pointed me to this link > https://issues.asterisk.org/jira/browse/ASTERISK-28211 > > here are the errors i get > > > Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: > ERROR:nathelper:msg_send: send() to xxxxxx:32900 for proto wss/6 failed > Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: > ERROR:nathelper:nh_timer: sip msg_send failed! > > my question is, does anyone have a work around for this? as currently > inbound calls do not work properly :( > > > > Sent with Proton Mail secure email. > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 06:06:44 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 09:06:44 +0300 Subject: [OpenSIPS-Users] OpenSIPS and Asterisk on same system In-Reply-To: References: Message-ID: <5b235da1-c7f4-dd71-ded2-9e1b6b89bb1f@opensips.org> Check https://blog.opensips.org/2016/12/13/how-to-proxy-sip-registrations/ https://blog.opensips.org/2016/12/20/mid-registrar-scalable-registration-and-call-forking/ Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/24/23 1:00 AM, Dylan Cruz wrote: > Still looking for possibly a template/example code on this. > > I am setting a bounty of $150 for anyone willing to help. > > You can reach out to me via E-Mail or phone at 407-999-0000 > > Thanks! > > On Mon, Mar 13, 2023 at 8:26 PM Dylan Cruz > wrote: > > I'd love a sample OpenSIPS Config that would let me accomplish > using it as a transparent proxy to Asterisk running on the same > system. I found a few tutorials but found a lot of conflicting > information and outdated sources, Once I have that I will have > enough to work on to do what I want... Basically I would like > OpenSIPS to sit between the outside world and Asterisk, Incoming & > Outgoing would both transparently be proxied through it. OpenSIPS > would be running on port 5060 & Asterisk would be running on port > 5090, So for example to register to a SIP Trunk from a VoIP > provider my Asterisk sip.conf would look like this: (I know > chan_sip is deprecated...) > *[general]* > *nat=no* > *bindport=5090* > *outboundproxy=127.0.0.1:5060 ; Route > everything through OpenSIPS* > *tos_sip=cs3* > *tos_audio=ef* > *trustrpid=yes* > *canreinvite=yes* > *directrtpsetup=yes* > *allowguest=no* > *allowoverlap=yes* > *srvlookup=yes* > *disallow=all* > *allow=ulaw* > *[inbound-pstn]* > *type=peer* > *host=191.122.31.32* > *insecure=invite,port* > *qualify=yes* > *context=from-inbound* > *[outbound-pstn]* > *type=peer* > *host=191.122.31.33* > *insecure=invite,port* > *qualify=yes* > I would then be able to talk to both of those trunks from Asterisk > and have inbound & outbound calls working all the way through to > the VoIP provider. > My purpose for wanting to do this is I want to play around with > the SIP-I module in OpenSIPS to interwork ISUP IAM fields by > breaking them out into SIP Headers that I can then manipulate > easily in Asterisk. > > Full disclosure: I am a complete OpenSIPS noob! This would be my > first OpenSIPS project, I am very impressed with its capabilities > and by having a little sample config it would allow me to > experiment and start my journey of getting my feet wet with it! > > Thanks in advance! > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 06:25:54 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 09:25:54 +0300 Subject: [OpenSIPS-Users] Help needed with the trap file In-Reply-To: References: Message-ID: <38022930-417e-329c-4207-2d51a60bdf23@opensips.org> Hi Matt, The utimer is completed, but with some delay. As time as the reported delay ("already scheduled *301400* ms ago") does not increase, it is ok, the task ends, but it is slow. The tm-utimer task is responsible for performing the TM retransmissions, maybe your traffic is pron to something like that. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/18/23 9:08 PM, L S wrote: > Hi, > > I'm trying to find out why a utimer task is not complete: > > May 17 11:04:19 opensips2 /usr/local/sbin/opensips[101616]: > WARNING:core:utimer_ticker: utimer task already scheduled > 301400 ms ago (now 265202840 ms), delaying execution > > (opensips.log is showing the utimer warning coming from thread 101616) > > The partial trap file is below. This is my first time analyzing a trap > file, so any help is appreciated. I'm trying to find out why utimer > task is stuck. Some stuff is optimized. Do I need to see them? > What should I look for? > > Thanks, > Matt > > > > ----- partial trap file --------------- > ---start 101612 (root 101612      1  0 May14 ?        00:00:00 > /usr/local/sbin/opensips -u root -g root -P /var/run/opensips.pid -f > /usr/local/etc/opensips/opensips.cfg -m 1024 -M 16) > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib64/libthread_db.so.1". > 0x00007f1c47012f40 in __pause_nocancel () from /lib64/libpthread.so.0 > #0  0x00007f1c47012f40 in __pause_nocancel () from /lib64/libpthread.so.0 > No symbol table info available. > #1  0x000000000041e4fd in main_loop () at main.c:304 >         startup_done = >         chd_rank = 37 >         last_check = 0 >         rc = > #2  main (argc=, argv=) at main.c:916 >         c = >         r = >         tmp = 0x7fff4814af81 "" >         tmp_len = >         port = >         proto = >         protos_no = >         options = 0x683110 > "f:cCm:M:b:l:n:N:rRvdDFEVhw:t:u:g:p:P:G:W:o:a:k:s:" >         ret = -1 >         seed = 3543554664 >         rfd = >         __FUNCTION__ = "main" > [Inferior 1 (process 101612) detached] > > ..... > > ---start 101616 (root     101616 101612  0 May14 ?        00:05:44 > /usr/local/sbin/opensips -u root -g root -P /var/run/opensips.pid -f > /usr/local/etc/opensips/opensips.cfg -m 1024 -M 16) > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib64/libthread_db.so.1". > 0x00007f1c46d2bb23 in __select_nocancel () from /lib64/libc.so.6 > #0  0x00007f1c46d2bb23 in __select_nocancel () from /lib64/libc.so.6 > No symbol table info available. > #1  0x00000000004cdee8 in run_timer_process () at timer.c:503 >         drift = 0 >         wait = >         o_tv = >         comp_tv = {tv_sec = 0, tv_usec = 100000} >         ij = 266131400000 >         multiple = >         cnt = >         tv = {tv_sec = 0, tv_usec = 75286} >         uinterval = 100000 > #2  start_timer_processes () at timer.c:633 >         id = >         __FUNCTION__ = "start_timer_processes" > #3  0x000000000041df8c in main_loop () at main.c:221 >         startup_done = 0x0 >         chd_rank = 0 >         last_check = 0 >         rc = > #4  main (argc=, argv=) at main.c:916 >         c = >         r = 0 >         tmp = 0x7fff4814af81 "" >         tmp_len = >         port = >         proto = >         protos_no = >         options = 0x683110 > "f:cCm:M:b:l:n:N:rRvdDFEVhw:t:u:g:p:P:G:W:o:a:k:s:" >         ret = -1 >         seed = 3543554664 >         rfd = >         __FUNCTION__ = "main" > [Inferior 1 (process 101616) detached] > > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 06:31:10 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 09:31:10 +0300 Subject: [OpenSIPS-Users] Call fetch_dlg_value inside a timer route In-Reply-To: References: Message-ID: What Alberto said still applies. The timer route is outside the context of any SIP message, while the function you want to use (get_profile_size) is part of the dialog module, where most of the functions do requires the context of a SIP dialog. I agree get_profile_size() does not need the context and could be more flexible. So, try this hack of using a intermediary route[], like:     timer_route[]        { route(foo); }     route[foo]        { get_profile_size(); } Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/18/23 3:13 PM, Daniel Zanutti wrote: > Hi Alberto > > In fact, i need to use: get_profile_size() > > I want to count some type of calls. I've done using statistics but not > very precise. > > > On Wed, May 17, 2023 at 7:48 PM Alberto > wrote: > > This reminded me of something else, maybe it can be used here too: > In a event route, before you can use dialog variables, you have to > load the dialog context by using func_load_dialog_ctx. Maybe it's > the same with timer routes. > > https://opensips.org/docs/modules/3.2.x/dialog#func_load_dialog_ctx > > > On Wed, 17 May 2023, 21:07 Daniel Zanutti, > > wrote: > > Hi folks > > Why is it not possible to call *fetch_dlg_value *inside a > timer route? Is there any other alternative to it? > > I wanted to generate some statistics every X seconds. > > Thanks > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 06:33:34 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 09:33:34 +0300 Subject: [OpenSIPS-Users] UAC_REPACE_TO In-Reply-To: <35A2A3FA-5AD3-4B52-B1D2-B2C046678F51@gmail.com> References: <35A2A3FA-5AD3-4B52-B1D2-B2C046678F51@gmail.com> Message-ID: <1c92a32c-d4cc-4de8-f575-2f722bc21d1a@opensips.org> Hi, Do not do route_reload, better restart opensips here. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/17/23 9:18 PM, "Вадим Д." wrote: > Hello! > > Please help me. I am trying to use the uac_replace_to function. But it gives an error. > > loadmodule "uac.so" > modparam("uac","restore_mode","auto") > > > $avp(repto)="sip:" + $(fU{s.substr,0,-3}) + $(fU{s.substr,-3,0}) + "@" + $td; > uac_replace_to( ,$avp(repto)); > > > > ERROR:uac:cfg_validate: uac_replace_*() was found, but module started without support for replacing, better restart > May 17 18:01:48 proxy-02 /usr/sbin/opensips[2223992]: ERROR:core:modules_validate_reload: module did not validated the cfg file > May 17 18:01:48 proxy-02 /usr/sbin/opensips[2223992]: ERROR:core:reload_routing_script: routes validation by modules failed, abording reload. OpenSIPS restart is recomended to deploy the new script > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From bogdan at opensips.org Tue Jun 13 06:45:20 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 09:45:20 +0300 Subject: [OpenSIPS-Users] Access "Identity" header after calling stir_shaken_auth() on 3.2.x In-Reply-To: References: Message-ID: Daniel, The auth function has the option to return you into a variable the identity value . See the `out` param here: https://opensips.org/docs/modules/3.3.x/stir_shaken.html#func_stir_shaken_auth Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/15/23 12:08 AM, Daniel Zanutti wrote: > Hi Brett > > Just to respond, no it doesn't. This field is only visible when we are > authenticating headers, not generating. > > At the end, I copied the module from the 3.3.x version, to my 3.2.11 > version. It worked flawlessly. > > Thanks > > On Fri, Apr 28, 2023 at 12:10 PM Brett Nemeroff > wrote: > > Hello Daniel, > See if the $identity peudovariable offered by that module suits > your need: > > https://opensips.org/docs/modules/3.2.x/stir_shaken.html#pv_identity > > > -Brett > > > On Fri, Apr 28, 2023 at 9:03 AM Daniel Zanutti > > wrote: > > Hi > > How can I access the generated Identity header, after calling > function stir_shaken_auth(), on opensips 3.2.x? On 3.3.x there > is a new "out" parameter, is there a way on 3.2.x? > > It's just to store on DB. > > Thanks > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 07:31:49 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 10:31:49 +0300 Subject: [OpenSIPS-Users] Parallel branches and failure route In-Reply-To: References: Message-ID: <7c2ee7d3-99f9-3532-e317-acb4aa800adc@opensips.org> Hi Yury, Yes, the failure route is per-transaction - it is triggered when the whole transaction fails, meaning it got negative replies on all its branches. In failure route you see only the "wining" branch (from all existing branches), meaning the branch with the lowest reply code. Best regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/14/23 4:47 PM, Yury Kirsanov wrote: > Hi, > I'm adding multiple branches to the initial request and then use > t_relay() to fire them all up to multiple destinations. But it seems > that I can only set up only one t_on_failure route. How do I > distinguish between branches in that failure route? Part of the > branches can respond with 4xx, part - with 5xx and so on and only one > would respond with 200 OK. I need to process all FAILED branches, not > caring too much about the successful one. What would be the best way > to do this? Thanks. > > Regards, > Yury. > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 07:36:53 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 10:36:53 +0300 Subject: [OpenSIPS-Users] Learning how to proxy In-Reply-To: <31657a04-066e-494e-bbd2-2aca411bc41c@app.fastmail.com> References: <31657a04-066e-494e-bbd2-2aca411bc41c@app.fastmail.com> Message-ID: <5b5d4503-6913-3ba6-ff3f-4fda0268fc80@opensips.org> Hi Egil, $rP $oP are NULL as they take info from the RURI, and as you can see, the RURI has no transport param. Maybe you should get the proto info from the network level, like $socket_in(proto), see https://opensips.org/Documentation/Script-CoreVar-3-2#socket_in Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 5/10/23 12:08 PM, Egil Hasting via Users wrote: > Hello List, > > I have recently started dig into the opensips software, and is without > doubt impressed by its maturity and feature set. > However i have stumbled upon something i find weird (probably due to > my lack of competence). > > I am setting up the opensips as a "transparent" proxy towards > B2BUA/Registrar > > So current configuration is like this: > > Video system -> OpenSIPS -> Cisco VCS > > simplified cut from opensips configuration > > ... > record_route(); > else if (is_method("REGISTER")) > { > xlog("L_INFO", "$socket_out $socket_in $ru $du $rP $oP $ou $ru \n"); > switch ($oP) > { >   case "udp": >     $ru = "sip::5060"; >   break; >   case "tcp": >     $ru = "sip::5060;transport=tcp"; >   break; >   case "tls": >     $ru = "sips::5061;transport=tls"; >   break; > } > if (!t_relay()) > { >   send_reply(500, "Server Internal Error 1"); >   exit; > } > exit; > } > ... > > What i see printed is: > $socket_out = tls::5061 > $socket_in = tls::5061 > $ru = sip: > $du = null > $rP = udp > $oP = udp > $ou = sip: > > In the second leg where the Cisco VCS is, it also insist of the > inbound being UDP - even if UDP is disabled everywhere. > i am particularly interested in understand how it can be flagged as a > "udp" on both $rP and $oP in that case, when data comes thru the TLS > socket? > > Rgs > Egil Hasting > > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From nutxase at proton.me Tue Jun 13 07:38:37 2023 From: nutxase at proton.me (nutxase) Date: Tue, 13 Jun 2023 07:38:37 +0000 Subject: [OpenSIPS-Users] Path support workaround In-Reply-To: <2549f6b7-f2c1-b4e9-1947-3a38d04bf8cc@opensips.org> References: <2549f6b7-f2c1-b4e9-1947-3a38d04bf8cc@opensips.org> Message-ID: Hi Bogdan So the ip is the ip of the uac client (internet ip)and not sure how to check for any nat issues there? please help :) not sure exactly sure how it would be down as it is mid registrar looking up the location then establishing the call Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Tuesday, June 13th, 2023 at 7:02 AM, Bogdan-Andrei Iancu wrote: > Hi, > > The error you get from OpenSIPS is about its inability to send a message to a certain WSS destination. This may be because: > 1) the actual destination is wrong - you know the IP, check if it make sense, maybe there are some end-user nat issues > 2) as WSS is TCP based, the original connection is down and opensips is not able to create a new one from server side. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > > https://www.siphub.com > > On 6/12/23 7:17 PM, nutxase via Users wrote: > >> Hi Guys >> >> So i am using a wss client and sending registration via mid_registrar to asterisk(pjsip) and all works fine except on inbound calls we get a lot of errors and googling has pointed me to this link https://issues.asterisk.org/jira/browse/ASTERISK-28211 >> here are the errors i get >> >> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:msg_send: send() to xxxxxx:32900 for proto wss/6 failed >> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:nh_timer: sip msg_send failed! >> >> my question is, does anyone have a work around for this? as currently inbound calls do not work properly :( >> >> Sent with [Proton Mail](https://proton.me/) secure email. >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 07:49:49 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 10:49:49 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: References: <87133608-e630-20b5-7e45-e8564ab9ae9d@opensips.org> Message-ID: <86a918fb-f085-f56c-9ed1-9aab8d2cfe14@opensips.org> Hi, It  is up to you, at cfg level, to decide which tag to use for a new dialog. And the status of the tag is irrelevant there (from the assignment perspective). And the status of the tags must be managed by you, from outside OpenSIPS - opensips itself will do nothing from this perspective (of switching the status of the tags) - the only thing it does with the tags is to be sure a tag is active on a single node. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/12/23 1:37 PM, Denys Pozniak wrote: > Hello! > Thank you for your help! > > >2) you can use the same sharing tag for multiple modules, as time as > from logical perspective, the switching of the tags fits all the > cases. For dialogs, you may need one tag per node (to remember which > node created the dialog), so you may not be able to reuse here. > Do I understand correctly that when creating a dialog on a node, an > active tag will be attached to it. > And if this node falls out of the cluster, then this tag will be > automatically activated like some other node and all the dialog > information (variables) will be available on it? > > There is also a question about transactions. How will the response be > handled if the owner of the transaction is not available? > > > пн, 12 июн. 2023 г. в 10:30, Bogdan-Andrei Iancu >: > > Hi Denys, > > 1) yes > > 2) you can use the same sharing tag for multiple modules, as time > as from logical perspective, the switching of the tags fits all > the cases. For dialogs, you may need one tag per node (to remember > which node created the dialog), so you may not be able to reuse here. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/9/23 1:30 PM, Denys Pozniak wrote: >> Hello! >> Thank you! The mechanism with a single tag for the dispatcher >> works as it should. >> >> But I still have a number of questions on related topics: >> 1)  Should I declare this common dispatcher tag in the parameters >> of the clusterer module? >> Then, after the start, the tag on the active node will be set by >> an external script. >> >>  modparam("clusterer", "sharing_tag", "dispatcher/1=backup") >>  modparam("dispatcher", "cluster_sharing_tag", "dispatcher") >> >> 2) I also want to replicate transactions and dialogs, so should I >> declare own tags for each cluster node? >> Or like with a dispatcher do I need one common? >> >> modparam("clusterer", "sharing_tag", "anycast1/1=active") >> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >> modparam("dialog", "dialog_replication_cluster", 1) >> modparam("tm", "tm_replication_cluster", 1) >> modparam("dispatcher", "cluster_sharing_tag", "dispatcher") >> >> вт, 6 июн. 2023 г. в 18:08, Bogdan-Andrei Iancu >> >: >> >> Hi Denys, >> >> Even better if you have only one active opensips instance - >> in this case you can use only one sharing-tag across all >> nodes/servers in the dispatcher cluster, tag to point to the >> active instance. So, whenever you point the traffic to a >> certain opensips instance, be sure to make the tag active on >> that instance too. >> https://opensips.org/html/docs/modules/3.2.x/clusterer.html#mi_clusterer_shtag_set_active >> >> >> Best regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/6/23 4:11 PM, Denys Pozniak wrote: >>> Hello! >>> >>> >So, in the dispatcher cluster you have some active nodes, >>> but also some stand-by, right ? >>> All cluster nodes have the same dynamic routing protocol >>> metric, so only one random node can receive traffic from the >>> network point of view. >>> Well, accordingly, only the "active" node can accept replays >>> to SIP OPTIONS from the dispatcher. And all other nodes see >>> the dispatcher peers as not alive. >>> It's more a question of how to make other nodes believe the >>> status from the "active" node and not influence it. >>> >>> >And I see you did not set the this cluster_sharing_tag modparam >>> I have this option set, you probably didn't notice in the >>> initial thread. >>> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >>> >>> >>> вт, 6 июн. 2023 г. в 11:37, Bogdan-Andrei Iancu >>> >: >>> >>> Hi Denys, >>> >>> So, in the dispatcher cluster you have some active >>> nodes, but also some stand-by, right ? >>> >>> And I see you did not set the this cluster_sharing_tag >>> modparam [1] - check it out, it may help you in deciding >>> which nodes may broadcast the state inside the cluster >>> (for dispatcher) >>> >>> [1] >>> https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag >>> >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/2/23 5:39 PM, Denys Pozniak wrote: >>>> Hello! >>>> >>>> I need advice on how best to implement the anycast + >>>> clusterer + dispatcher scheme. >>>> In short, we want to build an additional upper layer in >>>> front of our sip legacy servers, on which traffic >>>> balancing will take place. >>>> Most likely it will look like several nodes of the same >>>> clusterer with a single public anycast address, from >>>> which traffic will also go to the public interfaces of >>>> the legacy sip servers (via the dispatcher list). >>>> During testing, it turned out that if we include the >>>> dispatcher module in the clusterer, then the inactive >>>> nodes of the cluster begin to affect the general state >>>> of the legacy sip servers on active node, since replays >>>> to SIP OPTIONS reach only one active node, though all >>>> nodes ping. >>>> >>>> Thus, the sip server status is constantly flapping on >>>> active node. >>>> Is it possible to somehow make all other nodes believe >>>> the active node at a given time and inherit its >>>> dispatcher state? >>>> >>>> *node1:* >>>> modparam("clusterer", "sharing_tag", "anycast1/1=active") >>>> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >>>> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >>>> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >>>> >>>> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >>>> >>>> modparam("dispatcher", "db_url", >>>> "text:///etc/opensips/dbtext") >>>> modparam("dispatcher", "attrs_avp", "$avp(dsp_attrs_avp)") >>>> modparam("dispatcher", "script_attrs_avp", >>>> "$avp(dsp_script_attrs_avp)") >>>> modparam("dispatcher", "hash_pvar", "$avp(dsp_hash_pvar)") >>>> modparam("dispatcher", "ds_ping_method", "OPTIONS") >>>> modparam("dispatcher", "ds_ping_from", >>>> "sip:ping at dispatcher") >>>> modparam("dispatcher", "ds_ping_interval", 10) >>>> modparam("dispatcher", "ds_probing_threshold", 2) >>>> modparam("dispatcher", "ds_probing_mode", 1) >>>> modparam("dispatcher", "options_reply_codes", >>>> "501,403,404,400,200") >>>> modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") >>>> modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") >>>> modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") >>>> modparam("dispatcher", "persistent_state", 1) >>>> modparam("dispatcher", "cluster_id", 1) >>>> modparam("dispatcher", "cluster_probing_mode", "by-shtag") >>>> >>>> *dispatcher:* >>>> id(int,auto) setid(int) destination(string) >>>> socket(string,null) state(int) probe_mode(int) >>>> weight(string) priority(int) attrs(string) >>>> description(string) >>>> 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' >>>> 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' >>>> 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' >>>> >>>> Sure, it is possible to attach an additional public >>>> address to each node and do not share dispatcher state, >>>> but still I would like to somehow find a solution for >>>> the current scheme >>>> >>>> -- >>>> >>>> BR, >>>> Denys Pozniak >>>> >>>> >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.opensips.org >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> >>> >>> -- >>> >>> BR, >>> Denys Pozniak >>> >>> >> >> >> >> -- >> >> BR, >> Denys Pozniak >> >> > > > > -- > > BR, > Denys Pozniak > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 07:50:05 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 10:50:05 +0300 Subject: [OpenSIPS-Users] Dispatcher state exchange in an anycast clusterer In-Reply-To: References: <87133608-e630-20b5-7e45-e8564ab9ae9d@opensips.org> Message-ID: <2e373457-08ee-b925-039f-9a4567ee7390@opensips.org> :+1: Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/12/23 5:19 PM, Denys Pozniak wrote: > Judging by the documentation, the activation of the tag of a > non-working node in the context of dialogs should be handled by an > external system. So it won't happen automatically, right? > >   "If node 1 fails, the monitoring system (also responsible for the > Anycast management and BGP updates) will pick one of the remaining > node in the anycast group and it will activate the “node_1” tag on it. >    So, this new node will became owner and responsible for the calls > created on former node 1." > > пн, 12 июн. 2023 г. в 13:37, Denys Pozniak >: > > Hello! > Thank you for your help! > > >2) you can use the same sharing tag for multiple modules, as time > as from logical perspective, the switching of the tags fits all > the cases. For dialogs, you may need one tag per node (to remember > which node created the dialog), so you may not be able to reuse here. > Do I understand correctly that when creating a dialog on a node, > an active tag will be attached to it. > And if this node falls out of the cluster, then this tag will be > automatically activated like some other node and all the dialog > information (variables) will be available on it? > > There is also a question about transactions. How will the response > be handled if the owner of the transaction is not available? > > > пн, 12 июн. 2023 г. в 10:30, Bogdan-Andrei Iancu > >: > > Hi Denys, > > 1) yes > > 2) you can use the same sharing tag for multiple modules, as > time as from logical perspective, the switching of the tags > fits all the cases. For dialogs, you may need one tag per node > (to remember which node created the dialog), so you may not be > able to reuse here. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/9/23 1:30 PM, Denys Pozniak wrote: >> Hello! >> Thank you! The mechanism with a single tag for the dispatcher >> works as it should. >> >> But I still have a number of questions on related topics: >> 1)  Should I declare this common dispatcher tag in the >> parameters of the clusterer module? >> Then, after the start, the tag on the active node will be set >> by an external script. >> >>  modparam("clusterer", "sharing_tag", "dispatcher/1=backup") >>  modparam("dispatcher", "cluster_sharing_tag", "dispatcher") >> >> 2) I also want to replicate transactions and dialogs, so >> should I declare own tags for each cluster node? >> Or like with a dispatcher do I need one common? >> >> modparam("clusterer", "sharing_tag", "anycast1/1=active") >> modparam("clusterer", "sharing_tag", "anycast2/1=backup") >> modparam("clusterer", "sharing_tag", "anycast3/1=backup") >> modparam("clusterer", "sharing_tag", "anycast4/1=backup") >> modparam("dialog", "dialog_replication_cluster", 1) >> modparam("tm", "tm_replication_cluster", 1) >> modparam("dispatcher", "cluster_sharing_tag", "dispatcher") >> >> вт, 6 июн. 2023 г. в 18:08, Bogdan-Andrei Iancu >> >: >> >> Hi Denys, >> >> Even better if you have only one active opensips instance >> - in this case you can use only one sharing-tag across >> all nodes/servers in the dispatcher cluster, tag to point >> to the active instance. So, whenever you point the >> traffic to a certain opensips instance, be sure to make >> the tag active on that instance too. >> https://opensips.org/html/docs/modules/3.2.x/clusterer.html#mi_clusterer_shtag_set_active >> >> >> Best regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/6/23 4:11 PM, Denys Pozniak wrote: >>> Hello! >>> >>> >So, in the dispatcher cluster you have some active >>> nodes, but also some stand-by, right ? >>> All cluster nodes have the same dynamic routing protocol >>> metric, so only one random node can receive traffic from >>> the network point of view. >>> Well, accordingly, only the "active" node can accept >>> replays to SIP OPTIONS from the dispatcher. And all >>> other nodes see the dispatcher peers as not alive. >>> It's more a question of how to make other nodes believe >>> the status from the "active" node and not influence it. >>> >>> >And I see you did not set the this cluster_sharing_tag >>> modparam >>> I have this option set, you probably didn't notice in >>> the initial thread. >>> modparam("dispatcher", "cluster_sharing_tag", "anycast1") >>> >>> >>> вт, 6 июн. 2023 г. в 11:37, Bogdan-Andrei Iancu >>> >: >>> >>> Hi Denys, >>> >>> So, in the dispatcher cluster you have some active >>> nodes, but also some stand-by, right ? >>> >>> And I see you did not set the this >>> cluster_sharing_tag modparam [1] - check it out, it >>> may help you in deciding which nodes may broadcast >>> the state inside the cluster (for dispatcher) >>> >>> [1] >>> https://opensips.org/html/docs/modules/3.3.x/dispatcher.html#param_cluster_sharing_tag >>> >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/2/23 5:39 PM, Denys Pozniak wrote: >>>> Hello! >>>> >>>> I need advice on how best to implement the anycast >>>> + clusterer + dispatcher scheme. >>>> In short, we want to build an additional upper >>>> layer in front of our sip legacy servers, on which >>>> traffic balancing will take place. >>>> Most likely it will look like several nodes of the >>>> same clusterer with a single public anycast >>>> address, from which traffic will also go to the >>>> public interfaces of the legacy sip servers (via >>>> the dispatcher list). >>>> During testing, it turned out that if we include >>>> the dispatcher module in the clusterer, then the >>>> inactive nodes of the cluster begin to affect the >>>> general state of the legacy sip servers on active >>>> node, since replays to SIP OPTIONS reach only one >>>> active node, though all nodes ping. >>>> >>>> Thus, the sip server status is constantly flapping >>>> on active node. >>>> Is it possible to somehow make all other nodes >>>> believe the active node at a given time and inherit >>>> its dispatcher state? >>>> >>>> *node1:* >>>> modparam("clusterer", "sharing_tag", >>>> "anycast1/1=active") >>>> modparam("clusterer", "sharing_tag", >>>> "anycast2/1=backup") >>>> modparam("clusterer", "sharing_tag", >>>> "anycast3/1=backup") >>>> modparam("clusterer", "sharing_tag", >>>> "anycast4/1=backup") >>>> >>>> modparam("dispatcher", "cluster_sharing_tag", >>>> "anycast1") >>>> >>>> modparam("dispatcher", "db_url", >>>> "text:///etc/opensips/dbtext") >>>> modparam("dispatcher", "attrs_avp", >>>> "$avp(dsp_attrs_avp)") >>>> modparam("dispatcher", "script_attrs_avp", >>>> "$avp(dsp_script_attrs_avp)") >>>> modparam("dispatcher", "hash_pvar", >>>> "$avp(dsp_hash_pvar)") >>>> modparam("dispatcher", "ds_ping_method", "OPTIONS") >>>> modparam("dispatcher", "ds_ping_from", >>>> "sip:ping at dispatcher") >>>> modparam("dispatcher", "ds_ping_interval", 10) >>>> modparam("dispatcher", "ds_probing_threshold", 2) >>>> modparam("dispatcher", "ds_probing_mode", 1) >>>> modparam("dispatcher", "options_reply_codes", >>>> "501,403,404,400,200") >>>> modparam("dispatcher", "dst_avp", "$avp(dsp_dst_avp)") >>>> modparam("dispatcher", "grp_avp", "$avp(dsp_grp_avp)") >>>> modparam("dispatcher", "cnt_avp", "$avp(dsp_cnt_avp)") >>>> modparam("dispatcher", "persistent_state", 1) >>>> modparam("dispatcher", "cluster_id", 1) >>>> modparam("dispatcher", "cluster_probing_mode", >>>> "by-shtag") >>>> >>>> *dispatcher:* >>>> id(int,auto) setid(int) destination(string) >>>> socket(string,null) state(int) probe_mode(int) >>>> weight(string) priority(int) attrs(string) >>>> description(string) >>>> 0:1:sip\:1.1.1.1\:5060;transport=udp::2:1:1:1:'':'' >>>> 1:1:sip\:2.2.2.2\:5060;transport=udp::2:1:1:1:'':'' >>>> 2:1:sip\:3.3.3.3\:5060;transport=udp::2:1:1:1:'':'' >>>> >>>> Sure, it is possible to attach an additional public >>>> address to each node and do not share dispatcher >>>> state, but still I would like to somehow find a >>>> solution for the current scheme >>>> >>>> -- >>>> >>>> BR, >>>> Denys Pozniak >>>> >>>> >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.opensips.org >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> >>> >>> -- >>> >>> BR, >>> Denys Pozniak >>> >>> >> >> >> >> -- >> >> BR, >> Denys Pozniak >> >> > > > > -- > > BR, > Denys Pozniak > > > > > -- > > BR, > Denys Pozniak > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From y.kirsanov at gmail.com Tue Jun 13 10:07:57 2023 From: y.kirsanov at gmail.com (Yury Kirsanov) Date: Tue, 13 Jun 2023 20:07:57 +1000 Subject: [OpenSIPS-Users] Parallel branches and failure route In-Reply-To: <7c2ee7d3-99f9-3532-e317-acb4aa800adc@opensips.org> References: <7c2ee7d3-99f9-3532-e317-acb4aa800adc@opensips.org> Message-ID: Hi Bogdan, Thanks a lot for clarification, is there any way to 'catch' other branches? Or maybe I should open a feature request for that? It's quite important from the point of view of billing to have these branches processed too. Thanks! Best regards, Yury. On Tue, Jun 13, 2023 at 5:31 PM Bogdan-Andrei Iancu wrote: > Hi Yury, > > Yes, the failure route is per-transaction - it is triggered when the whole > transaction fails, meaning it got negative replies on all its branches. In > failure route you see only the "wining" branch (from all existing > branches), meaning the branch with the lowest reply code. > > Best regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 5/14/23 4:47 PM, Yury Kirsanov wrote: > > Hi, > I'm adding multiple branches to the initial request and then use t_relay() > to fire them all up to multiple destinations. But it seems that I can only > set up only one t_on_failure route. How do I distinguish between branches > in that failure route? Part of the branches can respond with 4xx, part - > with 5xx and so on and only one would respond with 200 OK. I need to > process all FAILED branches, not caring too much about the successful one. > What would be the best way to do this? Thanks. > > Regards, > Yury. > > _______________________________________________ > Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 10:44:08 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 13:44:08 +0300 Subject: [OpenSIPS-Users] Parallel branches and failure route In-Reply-To: References: <7c2ee7d3-99f9-3532-e317-acb4aa800adc@opensips.org> Message-ID: <71b3b819-4afc-04de-fdd0-3f21223451e3@opensips.org> Hi, you can gain access to all replies from all branches via the onreply route. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/13/23 1:07 PM, Yury Kirsanov wrote: > Hi Bogdan, > Thanks a lot for clarification, is there any way to 'catch' other > branches? Or maybe I should open a feature request for that? It's > quite important from the point of view of billing to have these > branches processed too. Thanks! > > Best regards, > Yury. > > On Tue, Jun 13, 2023 at 5:31 PM Bogdan-Andrei Iancu > > wrote: > > Hi Yury, > > Yes, the failure route is per-transaction - it is triggered when > the whole transaction fails, meaning it got negative replies on > all its branches. In failure route you see only the "wining" > branch (from all existing branches), meaning the branch with the > lowest reply code. > > Best regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 5/14/23 4:47 PM, Yury Kirsanov wrote: >> Hi, >> I'm adding multiple branches to the initial request and then use >> t_relay() to fire them all up to multiple destinations. But it >> seems that I can only set up only one t_on_failure route. How do >> I distinguish between branches in that failure route? Part of the >> branches can respond with 4xx, part - with 5xx and so on and only >> one would respond with 200 OK. I need to process all FAILED >> branches, not caring too much about the successful one. What >> would be the best way to do this? Thanks. >> >> Regards, >> Yury. >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 13 11:41:36 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 13 Jun 2023 14:41:36 +0300 Subject: [OpenSIPS-Users] Path support workaround In-Reply-To: References: <2549f6b7-f2c1-b4e9-1947-3a38d04bf8cc@opensips.org> Message-ID: OK, so it looks like the target IP is a public valid one. Check with netstat if you have any ongoing TCP conns to that IP Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/13/23 10:38 AM, nutxase wrote: > Hi Bogdan > > > So the ip is the ip of the uac client (internet ip)and not sure how to > check for any nat issues there? please help :) > not sure exactly sure how it would be down as it is mid registrar > looking up the location then establishing the call > > > Sent with Proton Mail secure email. > > ------- Original Message ------- > On Tuesday, June 13th, 2023 at 7:02 AM, Bogdan-Andrei Iancu > wrote: > >> Hi, >> >> The error you get from OpenSIPS is about its inability to send a >> message to a certain WSS destination. This may be because: >> 1) the actual destination is wrong - you know the IP, check if it >> make sense, maybe there are some end-user nat issues >> 2) as WSS is TCP based, the original connection is down and opensips >> is not able to create a new one from server side. >> >> Regards, >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> On 6/12/23 7:17 PM, nutxase via Users wrote: >>> Hi Guys >>> >>> So i am using a wss client and sending registration via >>> mid_registrar to asterisk(pjsip) and all works fine except on >>> inbound calls we get a lot of errors and googling has pointed me to >>> this link https://issues.asterisk.org/jira/browse/ASTERISK-28211 >>> >>> here are the errors i get >>> >>> >>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: >>> ERROR:nathelper:msg_send: send() to xxxxxx:32900 for proto wss/6 failed >>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: >>> ERROR:nathelper:nh_timer: sip msg_send failed! >>> >>> my question is, does anyone have a work around for this? as >>> currently inbound calls do not work properly :( >>> >>> >>> >>> Sent with Proton Mail secure email. >>> >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nutxase at proton.me Tue Jun 13 12:35:31 2023 From: nutxase at proton.me (nutxase) Date: Tue, 13 Jun 2023 12:35:31 +0000 Subject: [OpenSIPS-Users] Path support workaround In-Reply-To: References: <2549f6b7-f2c1-b4e9-1947-3a38d04bf8cc@opensips.org> Message-ID: <668nA28aPDmPi_JCT-d7ZH4JAi8vUE5yMNmJq3ccEDIJfpwO8h1uSRndoDqP0K3tYjFZFXi3ommpJKplKnC4YzpUD_rzfHCClVyGHALBadc=@proton.me> So in netstat i dont see any connections to my public ip(uac client) but in the log i see RROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxxx:443 failed Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:ws_client_handshake: cannot start handshake Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:proto_wss_send: connect failed Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxx:443 failed Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:ws_client_handshake: cannot start handshake Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:proto_wss_send: connect failed Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxx:443 failed Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_client_handshake: cannot start handshake Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:proto_wss_send: connect failed Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxxx:443 failed Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_client_handshake: cannot start handshake Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:proto_wss_send: connect failedJun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Tuesday, June 13th, 2023 at 12:41 PM, Bogdan-Andrei Iancu wrote: > OK, so it looks like the target IP is a public valid one. Check with netstat if you have any ongoing TCP conns to that IP > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > > https://www.siphub.com > > On 6/13/23 10:38 AM, nutxase wrote: > >> Hi Bogdan >> >> So the ip is the ip of the uac client (internet ip)and not sure how to check for any nat issues there? please help :) >> not sure exactly sure how it would be down as it is mid registrar looking up the location then establishing the call >> >> Sent with [Proton Mail](https://proton.me/) secure email. >> >> ------- Original Message ------- >> On Tuesday, June 13th, 2023 at 7:02 AM, Bogdan-Andrei Iancu [](mailto:bogdan at opensips.org) wrote: >> >>> Hi, >>> >>> The error you get from OpenSIPS is about its inability to send a message to a certain WSS destination. This may be because: >>> 1) the actual destination is wrong - you know the IP, check if it make sense, maybe there are some end-user nat issues >>> 2) as WSS is TCP based, the original connection is down and opensips is not able to create a new one from server side. >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> >>> https://www.siphub.com >>> >>> On 6/12/23 7:17 PM, nutxase via Users wrote: >>> >>>> Hi Guys >>>> >>>> So i am using a wss client and sending registration via mid_registrar to asterisk(pjsip) and all works fine except on inbound calls we get a lot of errors and googling has pointed me to this link https://issues.asterisk.org/jira/browse/ASTERISK-28211 >>>> here are the errors i get >>>> >>>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:msg_send: send() to xxxxxx:32900 for proto wss/6 failed >>>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:nh_timer: sip msg_send failed! >>>> >>>> my question is, does anyone have a work around for this? as currently inbound calls do not work properly :( >>>> >>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.opensips.org >>>> >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From y.kirsanov at gmail.com Tue Jun 13 13:42:18 2023 From: y.kirsanov at gmail.com (Yury Kirsanov) Date: Tue, 13 Jun 2023 23:42:18 +1000 Subject: [OpenSIPS-Users] Parallel branches and failure route In-Reply-To: <71b3b819-4afc-04de-fdd0-3f21223451e3@opensips.org> References: <7c2ee7d3-99f9-3532-e317-acb4aa800adc@opensips.org> <71b3b819-4afc-04de-fdd0-3f21223451e3@opensips.org> Message-ID: Thanks, Bogdan, But what if I need to perform uac_auth in one of the branches? I can't originate anything from the on_reply route, unfortunately :( Regards, Yury. On Tue, Jun 13, 2023 at 8:44 PM Bogdan-Andrei Iancu wrote: > Hi, > > you can gain access to all replies from all branches via the onreply route. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/13/23 1:07 PM, Yury Kirsanov wrote: > > Hi Bogdan, > Thanks a lot for clarification, is there any way to 'catch' other > branches? Or maybe I should open a feature request for that? It's quite > important from the point of view of billing to have these branches > processed too. Thanks! > > Best regards, > Yury. > > On Tue, Jun 13, 2023 at 5:31 PM Bogdan-Andrei Iancu > wrote: > >> Hi Yury, >> >> Yes, the failure route is per-transaction - it is triggered when the >> whole transaction fails, meaning it got negative replies on all its >> branches. In failure route you see only the "wining" branch (from all >> existing branches), meaning the branch with the lowest reply code. >> >> Best regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 5/14/23 4:47 PM, Yury Kirsanov wrote: >> >> Hi, >> I'm adding multiple branches to the initial request and then use >> t_relay() to fire them all up to multiple destinations. But it seems that I >> can only set up only one t_on_failure route. How do I distinguish between >> branches in that failure route? Part of the branches can respond with 4xx, >> part - with 5xx and so on and only one would respond with 200 OK. I need to >> process all FAILED branches, not caring too much about the successful one. >> What would be the best way to do this? Thanks. >> >> Regards, >> Yury. >> >> _______________________________________________ >> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.zanutti at gmail.com Tue Jun 13 14:38:47 2023 From: daniel.zanutti at gmail.com (Daniel Zanutti) Date: Tue, 13 Jun 2023 11:38:47 -0300 Subject: [OpenSIPS-Users] Access "Identity" header after calling stir_shaken_auth() on 3.2.x In-Reply-To: References: Message-ID: Hi Bogdan Yes, that's exactly how I ended. The original problem is I was using 3.2.x version and this version hasn't out param. I updated just the module to 3.3.x and it worked. On Tue, Jun 13, 2023 at 3:45 AM Bogdan-Andrei Iancu wrote: > Daniel, > > The auth function has the option to return you into a variable the > identity value . See the `out` param here: > > https://opensips.org/docs/modules/3.3.x/stir_shaken.html#func_stir_shaken_auth > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 5/15/23 12:08 AM, Daniel Zanutti wrote: > > Hi Brett > > Just to respond, no it doesn't. This field is only visible when we are > authenticating headers, not generating. > > At the end, I copied the module from the 3.3.x version, to my 3.2.11 > version. It worked flawlessly. > > Thanks > > On Fri, Apr 28, 2023 at 12:10 PM Brett Nemeroff > wrote: > >> Hello Daniel, >> See if the $identity peudovariable offered by that module suits your >> need: >> >> https://opensips.org/docs/modules/3.2.x/stir_shaken.html#pv_identity >> >> -Brett >> >> >> On Fri, Apr 28, 2023 at 9:03 AM Daniel Zanutti >> wrote: >> >>> Hi >>> >>> How can I access the generated Identity header, after calling function >>> stir_shaken_auth(), on opensips 3.2.x? On 3.3.x there is a new "out" >>> parameter, is there a way on 3.2.x? >>> >>> It's just to store on DB. >>> >>> Thanks >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > > _______________________________________________ > Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.zanutti at gmail.com Tue Jun 13 14:39:10 2023 From: daniel.zanutti at gmail.com (Daniel Zanutti) Date: Tue, 13 Jun 2023 11:39:10 -0300 Subject: [OpenSIPS-Users] Call fetch_dlg_value inside a timer route In-Reply-To: References: Message-ID: That's a hack! Thanks, i'll try out. On Tue, Jun 13, 2023 at 3:31 AM Bogdan-Andrei Iancu wrote: > What Alberto said still applies. > > The timer route is outside the context of any SIP message, while the > function you want to use (get_profile_size) is part of the dialog module, > where most of the functions do requires the context of a SIP dialog. I > agree get_profile_size() does not need the context and could be more > flexible. > So, try this hack of using a intermediary route[], like: > timer_route[] > { route(foo); } > route[foo] > { get_profile_size(); } > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 5/18/23 3:13 PM, Daniel Zanutti wrote: > > Hi Alberto > > In fact, i need to use: get_profile_size() > > I want to count some type of calls. I've done using statistics but not > very precise. > > > On Wed, May 17, 2023 at 7:48 PM Alberto wrote: > >> This reminded me of something else, maybe it can be used here too: >> In a event route, before you can use dialog variables, you have to load >> the dialog context by using func_load_dialog_ctx. Maybe it's the same with >> timer routes. >> >> https://opensips.org/docs/modules/3.2.x/dialog#func_load_dialog_ctx >> >> On Wed, 17 May 2023, 21:07 Daniel Zanutti, >> wrote: >> >>> Hi folks >>> >>> Why is it not possible to call *fetch_dlg_value *inside a timer route? >>> Is there any other alternative to it? >>> >>> I wanted to generate some statistics every X seconds. >>> >>> Thanks >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > > _______________________________________________ > Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From miagi_son at proton.me Tue Jun 13 16:56:55 2023 From: miagi_son at proton.me (Pat M) Date: Tue, 13 Jun 2023 16:56:55 +0000 Subject: [OpenSIPS-Users] WSS not sending bye Message-ID: Hi everyone Please help!! I have a mobile webrtc client that i am trying to use with opensips, it all works fine except when you try hangup from the client it does nothing, does not send any bye to opensips and therefore opensips does not send a bye upstream i am using mid_registrar but if i register it direct to an asterisk server it works fine my wss config is very normal including the tls section loadmodule "proto_wss.so" modparam("proto_wss", "require_origin", yes) modparam("proto_wss", "wss_max_msg_chunks", 16)modparam("proto_wss", "wss_handshake_timeout", 300) modparam("tls_mgm", "ca_list", "[sip]/etc/letsencrypt/fullchain.pem") modparam("tls_mgm", "certificate", "[sip]/etc/opensips/tls/cert.pem") modparam("tls_mgm", "private_key", "[sip]/etc/opensips/tls/ckey.pem") modparam("tls_mgm", "require_cert", "[sip]0") modparam("tls_mgm", "verify_cert", "[sip]0") modparam("tls_mgm", "tls_library", "wolfssl") modparam("tls_mgm", "client_domain", "sip1") modparam("tls_mgm", "ca_list", "[sip1]/etc/letsencrypt/fullchain.pem") modparam("tls_mgm", "certificate", "[sip1]/etc/opensips/tls/sip1.pem") modparam("tls_mgm", "private_key", "[sip1]/etc/opensips/tls/sip1key.pem") modparam("tls_mgm", "require_cert", "[sip1]0") modparam("tls_mgm", "verify_cert", "[sip1]0")modparam("tls_mgm", "match_ip_address", "[sip1]*") loadmodule "mid_registrar.so" modparam("mid_registrar", "mode", 2) /* 1 = mirror / 1 = ct / 2 = AoR */ modparam("mid_registrar", "outgoing_expires", 180) modparam("mid_registrar", "min_expires", 60) modparam("mid_registrar", "max_expires", 180) modparam("mid_registrar", "max_contacts", 16) modparam("mid_registrar", "received_avp", "$avp(received)")modparam("mid_registrar", "pn_pnsreg_interval", 140) mid_registrar_save("location", "p0v"); Thanks Pat Sent with [Proton Mail](https://proton.me/) secure email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Wed Jun 14 05:58:29 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Wed, 14 Jun 2023 08:58:29 +0300 Subject: [OpenSIPS-Users] Call fetch_dlg_value inside a timer route In-Reply-To: References: Message-ID: https://github.com/OpenSIPS/opensips/commit/a5f85013ea9156410a48614079105a7c5b41fe8e Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/13/23 5:39 PM, Daniel Zanutti wrote: > That's a hack! Thanks, i'll try out. > > On Tue, Jun 13, 2023 at 3:31 AM Bogdan-Andrei Iancu > > wrote: > > What Alberto said still applies. > > The timer route is outside the context of any SIP message, while > the function you want to use (get_profile_size) is part of the > dialog module, where most of the functions do requires the context > of a SIP dialog. I agree get_profile_size() does not need the > context and could be more flexible. > So, try this hack of using a intermediary route[], like: >     timer_route[] >        { route(foo); } >     route[foo] >        { get_profile_size(); } > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 5/18/23 3:13 PM, Daniel Zanutti wrote: >> Hi Alberto >> >> In fact, i need to use: get_profile_size() >> >> I want to count some type of calls. I've done using statistics >> but not very precise. >> >> >> On Wed, May 17, 2023 at 7:48 PM Alberto >> > wrote: >> >> This reminded me of something else, maybe it can be used here >> too: >> In a event route, before you can use dialog variables, you >> have to load the dialog context by using >> func_load_dialog_ctx. Maybe it's the same with timer routes. >> >> https://opensips.org/docs/modules/3.2.x/dialog#func_load_dialog_ctx >> >> >> On Wed, 17 May 2023, 21:07 Daniel Zanutti, >> > >> wrote: >> >> Hi folks >> >> Why is it not possible to call *fetch_dlg_value *inside a >> timer route? Is there any other alternative to it? >> >> I wanted to generate some statistics every X seconds. >> >> Thanks >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From razvan at opensips.org Wed Jun 14 07:53:33 2023 From: razvan at opensips.org (=?UTF-8?Q?R=c4=83zvan_Crainea?=) Date: Wed, 14 Jun 2023 10:53:33 +0300 Subject: [OpenSIPS-Users] WSS not sending bye In-Reply-To: References: Message-ID: Hi, Pat! You might be missing a Record-Route or something. Please post the SIP logs from your WebRTC client if you need further help. Best regards, Răzvan Crainea OpenSIPS Core Developer http://www.opensips-solutions.com On 6/13/23 19:56, Pat M via Users wrote: > Hi everyone > > Please help!! > > I have a mobile webrtc client that i am trying to use with opensips, it > all works fine except when you try hangup from the client it does > nothing, does not send any bye to opensips and therefore opensips does > not send a bye upstream > i am using mid_registrar > > > > but if i register it direct to an asterisk server it works fine > > my wss config is very normal including the tls section > > loadmodule "proto_wss.so" > modparam("proto_wss", "require_origin", yes) > modparam("proto_wss", "wss_max_msg_chunks", 16) > modparam("proto_wss", "wss_handshake_timeout", 300) > > modparam("tls_mgm", "ca_list", "[sip]/etc/letsencrypt/fullchain.pem") > modparam("tls_mgm", "certificate", "[sip]/etc/opensips/tls/cert.pem") > modparam("tls_mgm", "private_key", "[sip]/etc/opensips/tls/ckey.pem") > modparam("tls_mgm", "require_cert", "[sip]0") > modparam("tls_mgm", "verify_cert", "[sip]0") > modparam("tls_mgm", "tls_library", "wolfssl") > > modparam("tls_mgm", "client_domain", "sip1") > modparam("tls_mgm", "ca_list", "[sip1]/etc/letsencrypt/fullchain.pem") > modparam("tls_mgm", "certificate", "[sip1]/etc/opensips/tls/sip1.pem") > modparam("tls_mgm", "private_key", "[sip1]/etc/opensips/tls/sip1key.pem") > modparam("tls_mgm", "require_cert", "[sip1]0") > modparam("tls_mgm", "verify_cert", "[sip1]0") > modparam("tls_mgm", "match_ip_address", "[sip1]*") > > loadmodule "mid_registrar.so" > modparam("mid_registrar", "mode", 2) /* 1 = mirror / 1 = ct / 2 = AoR */ > modparam("mid_registrar", "outgoing_expires", 180) > modparam("mid_registrar", "min_expires", 60) > modparam("mid_registrar", "max_expires", 180) > modparam("mid_registrar", "max_contacts", 16) > modparam("mid_registrar", "received_avp", "$avp(received)") > modparam("mid_registrar", "pn_pnsreg_interval", 140) > > mid_registrar_save("location", "p0v"); > > Thanks Pat > Sent with Proton Mail secure email. > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From miagi_son at proton.me Wed Jun 14 09:05:48 2023 From: miagi_son at proton.me (Pat M) Date: Wed, 14 Jun 2023 09:05:48 +0000 Subject: [OpenSIPS-Users] WSS not sending bye In-Reply-To: References: Message-ID: Hi Razvan I do not see anything in the logs of the client but here is the invite portion of the opensips outbound calls have no problem it is only calls the webrtc client receives route{ if(!has_totag() && is_method("INVITE")) { if ($rU =~ '^[0-9]{11,}$') { create_dialog(); topology_hiding("UC"); $var(rtpengine_params) = $var(direction) + " replace-origin replace-session-connection"; if ( has_body("application/sdp") ) rtpengine_manage("$var(rtpengine_params)"); $du = "sip:" + xxxx:5060; $ru = "sip:" + $rU + "@" + xxxx:5060; route(RELAY); } else { xlog("Not Outbound Call"); } xlog("($$ct=$tU)\n"); if (!mid_registrar_lookup("location")) { t_reply(404, "Not Found"); exit; } create_dialog(); topology_hiding("U"); $var(rtpengine_params) = "trust-address replace-origin replace-session-connection rtcp-mux-offer ICE=force transcode-PCMU transcode-G722 SDES-off UDP/TLS/RTP/SAVPF"; xlog("USING RTPENGINE!!!!!!!"); if ( has_body("application/sdp") ) rtpengine_manage("$var(rtpengine_params)"); t_relay(); exit; } Sent with Proton Mail secure email. ------- Original Message ------- On Wednesday, June 14th, 2023 at 8:53 AM, Răzvan Crainea wrote: > Hi, Pat! > > You might be missing a Record-Route or something. Please post the SIP > logs from your WebRTC client if you need further help. > > Best regards, > > Răzvan Crainea > OpenSIPS Core Developer > http://www.opensips-solutions.com > > On 6/13/23 19:56, Pat M via Users wrote: > > > Hi everyone > > > > Please help!! > > > > I have a mobile webrtc client that i am trying to use with opensips, it > > all works fine except when you try hangup from the client it does > > nothing, does not send any bye to opensips and therefore opensips does > > not send a bye upstream > > i am using mid_registrar > > > > but if i register it direct to an asterisk server it works fine > > > > my wss config is very normal including the tls section > > > > loadmodule "proto_wss.so" > > modparam("proto_wss", "require_origin", yes) > > modparam("proto_wss", "wss_max_msg_chunks", 16) > > modparam("proto_wss", "wss_handshake_timeout", 300) > > > > modparam("tls_mgm", "ca_list", "[sip]/etc/letsencrypt/fullchain.pem") > > modparam("tls_mgm", "certificate", "[sip]/etc/opensips/tls/cert.pem") > > modparam("tls_mgm", "private_key", "[sip]/etc/opensips/tls/ckey.pem") > > modparam("tls_mgm", "require_cert", "[sip]0") > > modparam("tls_mgm", "verify_cert", "[sip]0") > > modparam("tls_mgm", "tls_library", "wolfssl") > > > > modparam("tls_mgm", "client_domain", "sip1") > > modparam("tls_mgm", "ca_list", "[sip1]/etc/letsencrypt/fullchain.pem") > > modparam("tls_mgm", "certificate", "[sip1]/etc/opensips/tls/sip1.pem") > > modparam("tls_mgm", "private_key", "[sip1]/etc/opensips/tls/sip1key.pem") > > modparam("tls_mgm", "require_cert", "[sip1]0") > > modparam("tls_mgm", "verify_cert", "[sip1]0") > > modparam("tls_mgm", "match_ip_address", "[sip1]*") > > > > loadmodule "mid_registrar.so" > > modparam("mid_registrar", "mode", 2) /* 1 = mirror / 1 = ct / 2 = AoR */ > > modparam("mid_registrar", "outgoing_expires", 180) > > modparam("mid_registrar", "min_expires", 60) > > modparam("mid_registrar", "max_expires", 180) > > modparam("mid_registrar", "max_contacts", 16) > > modparam("mid_registrar", "received_avp", "$avp(received)") > > modparam("mid_registrar", "pn_pnsreg_interval", 140) > > > > mid_registrar_save("location", "p0v"); > > > > Thanks Pat > > Sent with Proton Mail https://proton.me/ secure email. > > > > _______________________________________________ > > Users mailing list > > Users at lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From denys.pozniak at gmail.com Wed Jun 14 10:56:31 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Wed, 14 Jun 2023 13:56:31 +0300 Subject: [OpenSIPS-Users] How to configure tracer/proto_hep with clusterer? Message-ID: Hello! We are using the anycast topology in conjunction with the clusterer module. Usually, there is only one active node and I set up mirroring only on it through the tracer/proto_hep. But when network switching happens, there may be a situation in which the reply gets to another node and is replicated through proto_bin on the active one. And in this case, it is not clear where and how to set up the tracer/proto_hep logic to mirror replicated traffic. Looks like it is not visible in the onreply_route{} or I am doing something wrong. Any advice is appreciated! -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Wed Jun 14 13:04:52 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Wed, 14 Jun 2023 16:04:52 +0300 Subject: [OpenSIPS-Users] [Blog] Smart Logging with OpenSIPS 3.4 Message-ID: Hi all, More news on OpenSIPS 3.4 - the release comes with some advanced logging capabilities, like multiple formats (Json, CEE , text), multiple logs consumers (syslog, stderr, events, RMQ) each with individual muting and verbosity controls. Ideal features for distributed integrated large VoIP systems. https://blog.opensips.org/2023/06/14/smart-logging-with-opensips-3-4/ Enjoy, -- Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com From miagi_son at proton.me Wed Jun 14 15:45:52 2023 From: miagi_son at proton.me (Pat M) Date: Wed, 14 Jun 2023 15:45:52 +0000 Subject: [OpenSIPS-Users] WSS not sending bye In-Reply-To: References: Message-ID: anyone have any advice what i can check? i am desperate now Sent with Proton Mail secure email. ------- Original Message ------- On Wednesday, June 14th, 2023 at 10:05 AM, Pat M via Users wrote: > Hi Razvan > > I do not see anything in the logs of the client but here is the invite portion of the opensips > outbound calls have no problem it is only calls the webrtc client receives > > > route{ > if(!has_totag() && is_method("INVITE")) { > if ($rU =~ '^[0-9]{11,}$') { > create_dialog(); > topology_hiding("UC"); > > > > $var(rtpengine_params) = $var(direction) + " replace-origin replace-session-connection"; > > if ( has_body("application/sdp") ) > rtpengine_manage("$var(rtpengine_params)"); > > $du = "sip:" + xxxx:5060; > $ru = "sip:" + $rU + "@" + xxxx:5060; > > route(RELAY); > } else { > xlog("Not Outbound Call"); > } > xlog("($$ct=$tU)\n"); > > if (!mid_registrar_lookup("location")) { > t_reply(404, "Not Found"); > exit; > } > create_dialog(); > topology_hiding("U"); > $var(rtpengine_params) = "trust-address replace-origin replace-session-connection rtcp-mux-offer ICE=force transcode-PCMU transcode-G722 SDES-off UDP/TLS/RTP/SAVPF"; > xlog("USING RTPENGINE!!!!!!!"); > if ( has_body("application/sdp") ) > rtpengine_manage("$var(rtpengine_params)"); > t_relay(); > exit; > > } > > > > > > > Sent with Proton Mail secure email. > > > ------- Original Message ------- > On Wednesday, June 14th, 2023 at 8:53 AM, Răzvan Crainea razvan at opensips.org wrote: > > > > > Hi, Pat! > > > > You might be missing a Record-Route or something. Please post the SIP > > logs from your WebRTC client if you need further help. > > > > Best regards, > > > > Răzvan Crainea > > OpenSIPS Core Developer > > http://www.opensips-solutions.com > > > > On 6/13/23 19:56, Pat M via Users wrote: > > > > > Hi everyone > > > > > > Please help!! > > > > > > I have a mobile webrtc client that i am trying to use with opensips, it > > > all works fine except when you try hangup from the client it does > > > nothing, does not send any bye to opensips and therefore opensips does > > > not send a bye upstream > > > i am using mid_registrar > > > > > > but if i register it direct to an asterisk server it works fine > > > > > > my wss config is very normal including the tls section > > > > > > loadmodule "proto_wss.so" > > > modparam("proto_wss", "require_origin", yes) > > > modparam("proto_wss", "wss_max_msg_chunks", 16) > > > modparam("proto_wss", "wss_handshake_timeout", 300) > > > > > > modparam("tls_mgm", "ca_list", "[sip]/etc/letsencrypt/fullchain.pem") > > > modparam("tls_mgm", "certificate", "[sip]/etc/opensips/tls/cert.pem") > > > modparam("tls_mgm", "private_key", "[sip]/etc/opensips/tls/ckey.pem") > > > modparam("tls_mgm", "require_cert", "[sip]0") > > > modparam("tls_mgm", "verify_cert", "[sip]0") > > > modparam("tls_mgm", "tls_library", "wolfssl") > > > > > > modparam("tls_mgm", "client_domain", "sip1") > > > modparam("tls_mgm", "ca_list", "[sip1]/etc/letsencrypt/fullchain.pem") > > > modparam("tls_mgm", "certificate", "[sip1]/etc/opensips/tls/sip1.pem") > > > modparam("tls_mgm", "private_key", "[sip1]/etc/opensips/tls/sip1key.pem") > > > modparam("tls_mgm", "require_cert", "[sip1]0") > > > modparam("tls_mgm", "verify_cert", "[sip1]0") > > > modparam("tls_mgm", "match_ip_address", "[sip1]*") > > > > > > loadmodule "mid_registrar.so" > > > modparam("mid_registrar", "mode", 2) /* 1 = mirror / 1 = ct / 2 = AoR */ > > > modparam("mid_registrar", "outgoing_expires", 180) > > > modparam("mid_registrar", "min_expires", 60) > > > modparam("mid_registrar", "max_expires", 180) > > > modparam("mid_registrar", "max_contacts", 16) > > > modparam("mid_registrar", "received_avp", "$avp(received)") > > > modparam("mid_registrar", "pn_pnsreg_interval", 140) > > > > > > mid_registrar_save("location", "p0v"); > > > > > > Thanks Pat > > > Sent with Proton Mail https://proton.me/ secure email. > > > > > > _______________________________________________ > > > Users mailing list > > > Users at lists.opensips.org > > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > _______________________________________________ > > Users mailing list > > Users at lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users From mayamatakeshi at gmail.com Wed Jun 14 21:08:53 2023 From: mayamatakeshi at gmail.com (mayamatakeshi) Date: Thu, 15 Jun 2023 06:08:53 +0900 Subject: [OpenSIPS-Users] WSS not sending bye In-Reply-To: References: Message-ID: As Răzvan said, please post the SIP logs/capture (the SIP messages). Probably there is some issue with Record-Route headers. On Thu, Jun 15, 2023 at 12:49 AM Pat M via Users wrote: > anyone have any advice what i can check? > i am desperate now > > > > > Sent with Proton Mail secure email. > > ------- Original Message ------- > On Wednesday, June 14th, 2023 at 10:05 AM, Pat M via Users < > users at lists.opensips.org> wrote: > > > > Hi Razvan > > > > I do not see anything in the logs of the client but here is the invite > portion of the opensips > > outbound calls have no problem it is only calls the webrtc client > receives > > > > > > route{ > > if(!has_totag() && is_method("INVITE")) { > > if ($rU =~ '^[0-9]{11,}$') { > > create_dialog(); > > topology_hiding("UC"); > > > > > > > > $var(rtpengine_params) = $var(direction) + " replace-origin > replace-session-connection"; > > > > if ( has_body("application/sdp") ) > > rtpengine_manage("$var(rtpengine_params)"); > > > > $du = "sip:" + xxxx:5060; > > $ru = "sip:" + $rU + "@" + xxxx:5060; > > > > route(RELAY); > > } else { > > xlog("Not Outbound Call"); > > } > > xlog("($$ct=$tU)\n"); > > > > if (!mid_registrar_lookup("location")) { > > t_reply(404, "Not Found"); > > exit; > > } > > create_dialog(); > > topology_hiding("U"); > > $var(rtpengine_params) = "trust-address replace-origin > replace-session-connection rtcp-mux-offer ICE=force transcode-PCMU > transcode-G722 SDES-off UDP/TLS/RTP/SAVPF"; > > xlog("USING RTPENGINE!!!!!!!"); > > if ( has_body("application/sdp") ) > > rtpengine_manage("$var(rtpengine_params)"); > > t_relay(); > > exit; > > > > } > > > > > > > > > > > > > > Sent with Proton Mail secure email. > > > > > > ------- Original Message ------- > > On Wednesday, June 14th, 2023 at 8:53 AM, Răzvan Crainea > razvan at opensips.org wrote: > > > > > > > > > Hi, Pat! > > > > > > You might be missing a Record-Route or something. Please post the SIP > > > logs from your WebRTC client if you need further help. > > > > > > Best regards, > > > > > > Răzvan Crainea > > > OpenSIPS Core Developer > > > http://www.opensips-solutions.com > > > > > > On 6/13/23 19:56, Pat M via Users wrote: > > > > > > > Hi everyone > > > > > > > > Please help!! > > > > > > > > I have a mobile webrtc client that i am trying to use with opensips, > it > > > > all works fine except when you try hangup from the client it does > > > > nothing, does not send any bye to opensips and therefore opensips > does > > > > not send a bye upstream > > > > i am using mid_registrar > > > > > > > > but if i register it direct to an asterisk server it works fine > > > > > > > > my wss config is very normal including the tls section > > > > > > > > loadmodule "proto_wss.so" > > > > modparam("proto_wss", "require_origin", yes) > > > > modparam("proto_wss", "wss_max_msg_chunks", 16) > > > > modparam("proto_wss", "wss_handshake_timeout", 300) > > > > > > > > modparam("tls_mgm", "ca_list", "[sip]/etc/letsencrypt/fullchain.pem") > > > > modparam("tls_mgm", "certificate", "[sip]/etc/opensips/tls/cert.pem") > > > > modparam("tls_mgm", "private_key", "[sip]/etc/opensips/tls/ckey.pem") > > > > modparam("tls_mgm", "require_cert", "[sip]0") > > > > modparam("tls_mgm", "verify_cert", "[sip]0") > > > > modparam("tls_mgm", "tls_library", "wolfssl") > > > > > > > > modparam("tls_mgm", "client_domain", "sip1") > > > > modparam("tls_mgm", "ca_list", > "[sip1]/etc/letsencrypt/fullchain.pem") > > > > modparam("tls_mgm", "certificate", > "[sip1]/etc/opensips/tls/sip1.pem") > > > > modparam("tls_mgm", "private_key", > "[sip1]/etc/opensips/tls/sip1key.pem") > > > > modparam("tls_mgm", "require_cert", "[sip1]0") > > > > modparam("tls_mgm", "verify_cert", "[sip1]0") > > > > modparam("tls_mgm", "match_ip_address", "[sip1]*") > > > > > > > > loadmodule "mid_registrar.so" > > > > modparam("mid_registrar", "mode", 2) /* 1 = mirror / 1 = ct / 2 = > AoR */ > > > > modparam("mid_registrar", "outgoing_expires", 180) > > > > modparam("mid_registrar", "min_expires", 60) > > > > modparam("mid_registrar", "max_expires", 180) > > > > modparam("mid_registrar", "max_contacts", 16) > > > > modparam("mid_registrar", "received_avp", "$avp(received)") > > > > modparam("mid_registrar", "pn_pnsreg_interval", 140) > > > > > > > > mid_registrar_save("location", "p0v"); > > > > > > > > Thanks Pat > > > > Sent with Proton Mail https://proton.me/ secure email. > > > > > > > > _______________________________________________ > > > > Users mailing list > > > > Users at lists.opensips.org > > > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > > > _______________________________________________ > > > Users mailing list > > > Users at lists.opensips.org > > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > > > _______________________________________________ > > Users mailing list > > Users at lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nzdealshelp at gmail.com Thu Jun 15 06:14:32 2023 From: nzdealshelp at gmail.com (nz deals) Date: Thu, 15 Jun 2023 18:14:32 +1200 Subject: [OpenSIPS-Users] redis connect with auth Message-ID: Hi everyone, I am a newbee and looking for some help. If i don't set a password for my redis, i can easily connect but when i set the password i could not connect to redis using opensips. My password have @ inside, could this be an issue? i am trying like like this - modparam("cachedb_redis", "cachedb_url", "redis:main://:mypasx at ds# ycd at 127.0.0.1:6379/") Regards, Jason -------------- next part -------------- An HTML attachment was scrubbed... URL: From mickael at winlux.fr Thu Jun 15 08:28:56 2023 From: mickael at winlux.fr (Mickael Hubert) Date: Thu, 15 Jun 2023 10:28:56 +0200 Subject: [OpenSIPS-Users] Pool Request - Stir and shaken for French providers Message-ID: Hi all, I submited my first PR in the beautiful SIPssert tests project ! I pushed my work about authentication only for now (verification in the future). - Cert self generated ( https://blog.opensips.org/2022/10/31/how-to-generate-self-signed-stir-shaken-certificates/ ) - Private key stored in specific file, deployed by ansible, and crypted by ansible-vault - Public key cached in mysql DB (sql_cacher) - Process Diversion Header It's for French recommendations (MAN: Mécanisme d'authentification des numéros) https://github.com/OpenSIPS/sipssert-opensips-tests/pull/2 Feel free to share with us your remarks about this work to help the community ! Have a good day -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Thu Jun 15 13:25:44 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 15 Jun 2023 16:25:44 +0300 Subject: [OpenSIPS-Users] Parallel branches and failure route In-Reply-To: References: <7c2ee7d3-99f9-3532-e317-acb4aa800adc@opensips.org> <71b3b819-4afc-04de-fdd0-3f21223451e3@opensips.org> Message-ID: The uac_auth() works only upon transaction failure, so you have to wait for all the branches to fail and only then you can do the auth. IF you need to do individual auth for each branch, I would advice to spiral OpenSIPS, in order to handle each branch as an individual transaction.     UAC -> OpenSIPS (parallel forking) -> OpenSIPS (doing auth) -> UAS Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/13/23 4:42 PM, Yury Kirsanov wrote: > Thanks, Bogdan, > But what if I need to perform uac_auth in one of the branches? I can't > originate anything from the on_reply route, unfortunately :( > > Regards, > Yury. > > On Tue, Jun 13, 2023 at 8:44 PM Bogdan-Andrei Iancu > > wrote: > > Hi, > > you can gain access to all replies from all branches via the > onreply route. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/13/23 1:07 PM, Yury Kirsanov wrote: >> Hi Bogdan, >> Thanks a lot for clarification, is there any way to 'catch' other >> branches? Or maybe I should open a feature request for that? It's >> quite important from the point of view of billing to have these >> branches processed too. Thanks! >> >> Best regards, >> Yury. >> >> On Tue, Jun 13, 2023 at 5:31 PM Bogdan-Andrei Iancu >> > wrote: >> >> Hi Yury, >> >> Yes, the failure route is per-transaction - it is triggered >> when the whole transaction fails, meaning it got negative >> replies on all its branches. In failure route you see only >> the "wining" branch (from all existing branches), meaning the >> branch with the lowest reply code. >> >> Best regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 5/14/23 4:47 PM, Yury Kirsanov wrote: >>> Hi, >>> I'm adding multiple branches to the initial request and then >>> use t_relay() to fire them all up to multiple destinations. >>> But it seems that I can only set up only one t_on_failure >>> route. How do I distinguish between branches in that failure >>> route? Part of the branches can respond with 4xx, part - >>> with 5xx and so on and only one would respond with 200 OK. I >>> need to process all FAILED branches, not caring too much >>> about the successful one. What would be the best way to do >>> this? Thanks. >>> >>> Regards, >>> Yury. >>> >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Thu Jun 15 13:31:14 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 15 Jun 2023 16:31:14 +0300 Subject: [OpenSIPS-Users] Path support workaround In-Reply-To: <668nA28aPDmPi_JCT-d7ZH4JAi8vUE5yMNmJq3ccEDIJfpwO8h1uSRndoDqP0K3tYjFZFXi3ommpJKplKnC4YzpUD_rzfHCClVyGHALBadc=@proton.me> References: <2549f6b7-f2c1-b4e9-1947-3a38d04bf8cc@opensips.org> <668nA28aPDmPi_JCT-d7ZH4JAi8vUE5yMNmJq3ccEDIJfpwO8h1uSRndoDqP0K3tYjFZFXi3ommpJKplKnC4YzpUD_rzfHCClVyGHALBadc=@proton.me> Message-ID: <3f3a2c72-fa52-0129-ed17-8c90a4e8bab3@opensips.org> It looks like your opensips is trying to perform a remote connect via WSS, which cannot work Are you using this https://opensips.org/html/docs/modules/3.3.x/mid_registrar.html#param_tcp_persistent_flag to prevent the TCP/WSS conn to be closed before the expiration of the registration ? Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/13/23 3:35 PM, nutxase wrote: > So in netstat i dont see any connections to my public ip(uac client) > but in the log i see > > > RROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxxx:443 > failed > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: > ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, > received alert fatal error > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: > ERROR:proto_wss:ws_client_handshake: cannot start handshake > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: > ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: > ERROR:proto_wss:proto_wss_send: connect failed > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: > ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: > ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxx:443 > failed > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: > ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, > received alert fatal error > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: > ERROR:proto_wss:ws_client_handshake: cannot start handshake > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: > ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: > ERROR:proto_wss:proto_wss_send: connect failed > Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: > ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed > Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxx:443 > failed > Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, > received alert fatal error > Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:proto_wss:ws_client_handshake: cannot start handshake > Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake > Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:proto_wss:proto_wss_send: connect failed > Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed > Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxxx:443 > failed > Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, > received alert fatal error > Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:proto_wss:ws_client_handshake: cannot start handshake > Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake > Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:proto_wss:proto_wss_send: connect failed > Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: > ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed > > Sent with Proton Mail secure email. > > ------- Original Message ------- > On Tuesday, June 13th, 2023 at 12:41 PM, Bogdan-Andrei Iancu > wrote: > >> OK, so it looks like the target IP is a public valid one. Check with >> netstat if you have any ongoing TCP conns to that IP >> >> Regards, >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> On 6/13/23 10:38 AM, nutxase wrote: >>> Hi Bogdan >>> >>> >>> So the ip is the ip of the uac client (internet ip)and not sure how >>> to check for any nat issues there? please help :) >>> not sure exactly sure how it would be down as it is mid registrar >>> looking up the location then establishing the call >>> >>> >>> Sent with Proton Mail secure email. >>> >>> ------- Original Message ------- >>> On Tuesday, June 13th, 2023 at 7:02 AM, Bogdan-Andrei Iancu >>> wrote: >>> >>>> Hi, >>>> >>>> The error you get from OpenSIPS is about its inability to send a >>>> message to a certain WSS destination. This may be because: >>>> 1) the actual destination is wrong - you know the IP, check if it >>>> make sense, maybe there are some end-user nat issues >>>> 2) as WSS is TCP based, the original connection is down and >>>> opensips is not able to create a new one from server side. >>>> >>>> Regards, >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> https://www.siphub.com >>>> On 6/12/23 7:17 PM, nutxase via Users wrote: >>>>> Hi Guys >>>>> >>>>> So i am using a wss client and sending registration via >>>>> mid_registrar to asterisk(pjsip) and all works fine except on >>>>> inbound calls we get a lot of errors and googling has pointed me >>>>> to this link >>>>> https://issues.asterisk.org/jira/browse/ASTERISK-28211 >>>>> >>>>> here are the errors i get >>>>> >>>>> >>>>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: >>>>> ERROR:nathelper:msg_send: send() to xxxxxx:32900 for proto wss/6 >>>>> failed >>>>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: >>>>> ERROR:nathelper:nh_timer: sip msg_send failed! >>>>> >>>>> my question is, does anyone have a work around for this? as >>>>> currently inbound calls do not work properly :( >>>>> >>>>> >>>>> >>>>> Sent with Proton Mail secure email. >>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users at lists.opensips.org >>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Thu Jun 15 13:33:23 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 15 Jun 2023 16:33:23 +0300 Subject: [OpenSIPS-Users] Pool Request - Stir and shaken for French providers In-Reply-To: References: Message-ID: <0c126c20-446e-e441-7239-be737e51a79b@opensips.org> Great job Mickael, and many thanks for sharing this with the rest of the community. The PR will be reviewed and merged in the next days ! Best regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/15/23 11:28 AM, Mickael Hubert wrote: > Hi all, > I submited my first PR in the beautiful SIPssert tests project ! > I pushed my work about authentication only for now (verification in > the future). > > - Cert self generated > (https://blog.opensips.org/2022/10/31/how-to-generate-self-signed-stir-shaken-certificates/ > ) > - Private key stored in specific file, deployed by ansible, and > crypted by ansible-vault > - Public key cached in mysql DB (sql_cacher) > - Process Diversion Header > > It's for French recommendations (MAN: Mécanisme d'authentification des > numéros) > > https://github.com/OpenSIPS/sipssert-opensips-tests/pull/2 > > > Feel free to share with us your remarks about this work to help the > community ! > > Have a good day > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From nutxase at proton.me Thu Jun 15 13:34:06 2023 From: nutxase at proton.me (nutxase) Date: Thu, 15 Jun 2023 13:34:06 +0000 Subject: [OpenSIPS-Users] Path support workaround In-Reply-To: <3f3a2c72-fa52-0129-ed17-8c90a4e8bab3@opensips.org> References: <2549f6b7-f2c1-b4e9-1947-3a38d04bf8cc@opensips.org> <668nA28aPDmPi_JCT-d7ZH4JAi8vUE5yMNmJq3ccEDIJfpwO8h1uSRndoDqP0K3tYjFZFXi3ommpJKplKnC4YzpUD_rzfHCClVyGHALBadc=@proton.me> <3f3a2c72-fa52-0129-ed17-8c90a4e8bab3@opensips.org> Message-ID: I dont have it added my setup is WSS client on mobile phone --- opensips --mid_registrar -- asterisk loadmodule "mid_registrar.so" modparam("mid_registrar", "mode", 2) /* 1 = mirror / 1 = ct / 2 = AoR */ modparam("mid_registrar", "outgoing_expires", 180) modparam("mid_registrar", "min_expires", 60) modparam("mid_registrar", "max_expires", 180) modparam("mid_registrar", "max_contacts", 16) modparam("mid_registrar", "received_avp", "$avp(received)")modparam("mid_registrar", "pn_pnsreg_interval", 140) all works fine except the hangup does not work and call drops after 33 seconds do you think that setting is the fix? Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Thursday, June 15th, 2023 at 2:31 PM, Bogdan-Andrei Iancu wrote: > It looks like your opensips is trying to perform a remote connect via WSS, which cannot work > > Are you using this > https://opensips.org/html/docs/modules/3.3.x/mid_registrar.html#param_tcp_persistent_flag > to prevent the TCP/WSS conn to be closed before the expiration of the registration ? > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > > https://www.siphub.com > > On 6/13/23 3:35 PM, nutxase wrote: > >> So in netstat i dont see any connections to my public ip(uac client) >> but in the log i see >> >> RROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxxx:443 failed >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:ws_client_handshake: cannot start handshake >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:proto_wss_send: connect failed >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxx:443 failed >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:ws_client_handshake: cannot start handshake >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:proto_wss_send: connect failed >> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed >> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxx:443 failed >> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error >> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_client_handshake: cannot start handshake >> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake >> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:proto_wss_send: connect failed >> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed >> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxxx:443 failed >> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error >> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_client_handshake: cannot start handshake >> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake >> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:proto_wss_send: connect failed Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed >> >> Sent with [Proton Mail](https://proton.me/) secure email. >> >> ------- Original Message ------- >> On Tuesday, June 13th, 2023 at 12:41 PM, Bogdan-Andrei Iancu [](mailto:bogdan at opensips.org) wrote: >> >>> OK, so it looks like the target IP is a public valid one. Check with netstat if you have any ongoing TCP conns to that IP >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> >>> https://www.siphub.com >>> >>> On 6/13/23 10:38 AM, nutxase wrote: >>> >>>> Hi Bogdan >>>> >>>> So the ip is the ip of the uac client (internet ip)and not sure how to check for any nat issues there? please help :) >>>> not sure exactly sure how it would be down as it is mid registrar looking up the location then establishing the call >>>> >>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>> >>>> ------- Original Message ------- >>>> On Tuesday, June 13th, 2023 at 7:02 AM, Bogdan-Andrei Iancu [](mailto:bogdan at opensips.org) wrote: >>>> >>>>> Hi, >>>>> >>>>> The error you get from OpenSIPS is about its inability to send a message to a certain WSS destination. This may be because: >>>>> 1) the actual destination is wrong - you know the IP, check if it make sense, maybe there are some end-user nat issues >>>>> 2) as WSS is TCP based, the original connection is down and opensips is not able to create a new one from server side. >>>>> >>>>> Regards, >>>>> >>>>> Bogdan-Andrei Iancu >>>>> >>>>> OpenSIPS Founder and Developer >>>>> https://www.opensips-solutions.com >>>>> >>>>> https://www.siphub.com >>>>> >>>>> On 6/12/23 7:17 PM, nutxase via Users wrote: >>>>> >>>>>> Hi Guys >>>>>> >>>>>> So i am using a wss client and sending registration via mid_registrar to asterisk(pjsip) and all works fine except on inbound calls we get a lot of errors and googling has pointed me to this link https://issues.asterisk.org/jira/browse/ASTERISK-28211 >>>>>> here are the errors i get >>>>>> >>>>>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:msg_send: send() to xxxxxx:32900 for proto wss/6 failed >>>>>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:nh_timer: sip msg_send failed! >>>>>> >>>>>> my question is, does anyone have a work around for this? as currently inbound calls do not work properly :( >>>>>> >>>>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>>>> >>>>>> _______________________________________________ >>>>>> Users mailing list >>>>>> Users at lists.opensips.org >>>>>> >>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Thu Jun 15 13:37:26 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 15 Jun 2023 16:37:26 +0300 Subject: [OpenSIPS-Users] redis connect with auth In-Reply-To: References: Message-ID: Hi Jason, Most probably the `@` in the pwd is the issue - try to remote it (change pwd) and see if it works. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/15/23 9:14 AM, nz deals wrote: > Hi everyone, > > I am a newbee and looking for some help. > If i don't set a password for my redis, i can easily connect but when > i set the password i could not connect to redis using opensips. > > My password have @ inside, could this be an issue? > > i am trying like like this - > > modparam("cachedb_redis", "cachedb_url", > "redis:main://:mypasx at ds#ycd at 127.0.0.1:6379/ > ") > > Regards, > Jason > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From nutxase at proton.me Thu Jun 15 13:38:13 2023 From: nutxase at proton.me (nutxase) Date: Thu, 15 Jun 2023 13:38:13 +0000 Subject: [OpenSIPS-Users] Path support workaround In-Reply-To: References: <2549f6b7-f2c1-b4e9-1947-3a38d04bf8cc@opensips.org> <668nA28aPDmPi_JCT-d7ZH4JAi8vUE5yMNmJq3ccEDIJfpwO8h1uSRndoDqP0K3tYjFZFXi3ommpJKplKnC4YzpUD_rzfHCClVyGHALBadc=@proton.me> <3f3a2c72-fa52-0129-ed17-8c90a4e8bab3@opensips.org> Message-ID: i added it and i am still getting Jun 15 14:36:31 so-sbc-02 opensips: Jun 15 14:36:31 [26314] ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake Jun 15 14:36:31 so-sbc-02 opensips: Jun 15 14:36:31 [26314] ERROR:proto_wss:proto_wss_send: connect failed Jun 15 14:36:31 so-sbc-02 opensips: Jun 15 14:36:31 [26314] ERROR:tm:msg_send: send() to xxxxxx:443 for proto wss/6 failedJun 15 14:36:31 so-sbc-02 opensips: Jun 15 14:36:31 [26314] ERROR:tm:t_forward_nonack: sending request failed Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Thursday, June 15th, 2023 at 2:34 PM, nutxase wrote: > I dont have it added > my setup is > > WSS client on mobile phone --- opensips --mid_registrar -- asterisk > > loadmodule "mid_registrar.so" > modparam("mid_registrar", "mode", 2) /* 1 = mirror / 1 = ct / 2 = AoR */ > modparam("mid_registrar", "outgoing_expires", 180) > modparam("mid_registrar", "min_expires", 60) > modparam("mid_registrar", "max_expires", 180) > modparam("mid_registrar", "max_contacts", 16) > modparam("mid_registrar", "received_avp", "$avp(received)")modparam("mid_registrar", "pn_pnsreg_interval", 140) > > all works fine except the hangup does not work and call drops after 33 seconds > do you think that setting is the fix? > > Sent with [Proton Mail](https://proton.me/) secure email. > > ------- Original Message ------- > On Thursday, June 15th, 2023 at 2:31 PM, Bogdan-Andrei Iancu wrote: > >> It looks like your opensips is trying to perform a remote connect via WSS, which cannot work >> >> Are you using this >> https://opensips.org/html/docs/modules/3.3.x/mid_registrar.html#param_tcp_persistent_flag >> to prevent the TCP/WSS conn to be closed before the expiration of the registration ? >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> >> https://www.siphub.com >> >> On 6/13/23 3:35 PM, nutxase wrote: >> >>> So in netstat i dont see any connections to my public ip(uac client) >>> but in the log i see >>> >>> RROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxxx:443 failed >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:ws_client_handshake: cannot start handshake >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:proto_wss:proto_wss_send: connect failed >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8048]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxx:443 failed >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:ws_client_handshake: cannot start handshake >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:proto_wss:proto_wss_send: connect failed >>> Jun 13 13:33:08 so-sbc-02 /usr/local/sbin/opensips[8050]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed >>> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxx:443 failed >>> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error >>> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_client_handshake: cannot start handshake >>> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake >>> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:proto_wss_send: connect failed >>> Jun 13 13:33:09 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed >>> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: New TLS connection to xxxx:443 failed >>> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:tls_wolfssl:_wolfssl_tls_connect: TLS connect error: -313, received alert fatal error >>> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_client_handshake: cannot start handshake >>> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:ws_connect: cannot complete WebSocket handshake >>> Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:proto_wss:proto_wss_send: connect failed Jun 13 13:33:11 so-sbc-02 /usr/local/sbin/opensips[8047]: ERROR:core:msg_send: send() to xxxx:443 for proto wss/6 failed >>> >>> Sent with [Proton Mail](https://proton.me/) secure email. >>> >>> ------- Original Message ------- >>> On Tuesday, June 13th, 2023 at 12:41 PM, Bogdan-Andrei Iancu [](mailto:bogdan at opensips.org) wrote: >>> >>>> OK, so it looks like the target IP is a public valid one. Check with netstat if you have any ongoing TCP conns to that IP >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> >>>> https://www.siphub.com >>>> >>>> On 6/13/23 10:38 AM, nutxase wrote: >>>> >>>>> Hi Bogdan >>>>> >>>>> So the ip is the ip of the uac client (internet ip)and not sure how to check for any nat issues there? please help :) >>>>> not sure exactly sure how it would be down as it is mid registrar looking up the location then establishing the call >>>>> >>>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>>> >>>>> ------- Original Message ------- >>>>> On Tuesday, June 13th, 2023 at 7:02 AM, Bogdan-Andrei Iancu [](mailto:bogdan at opensips.org) wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> The error you get from OpenSIPS is about its inability to send a message to a certain WSS destination. This may be because: >>>>>> 1) the actual destination is wrong - you know the IP, check if it make sense, maybe there are some end-user nat issues >>>>>> 2) as WSS is TCP based, the original connection is down and opensips is not able to create a new one from server side. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Bogdan-Andrei Iancu >>>>>> >>>>>> OpenSIPS Founder and Developer >>>>>> https://www.opensips-solutions.com >>>>>> >>>>>> https://www.siphub.com >>>>>> >>>>>> On 6/12/23 7:17 PM, nutxase via Users wrote: >>>>>> >>>>>>> Hi Guys >>>>>>> >>>>>>> So i am using a wss client and sending registration via mid_registrar to asterisk(pjsip) and all works fine except on inbound calls we get a lot of errors and googling has pointed me to this link https://issues.asterisk.org/jira/browse/ASTERISK-28211 >>>>>>> here are the errors i get >>>>>>> >>>>>>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:msg_send: send() to xxxxxx:32900 for proto wss/6 failed >>>>>>> Jun 12 17:02:01 so-sbc-02 /usr/local/sbin/opensips[23379]: ERROR:nathelper:nh_timer: sip msg_send failed! >>>>>>> >>>>>>> my question is, does anyone have a work around for this? as currently inbound calls do not work properly :( >>>>>>> >>>>>>> Sent with [Proton Mail](https://proton.me/) secure email. >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> Users at lists.opensips.org >>>>>>> >>>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From mayamatakeshi at gmail.com Thu Jun 15 22:02:24 2023 From: mayamatakeshi at gmail.com (mayamatakeshi) Date: Fri, 16 Jun 2023 07:02:24 +0900 Subject: [OpenSIPS-Users] WSS not sending bye In-Reply-To: References: Message-ID: On Fri, Jun 16, 2023 at 2:05 AM Pat M wrote: > See below > > but what i can see there is no Allow, not sure if that is why? > > >> You are not using Record-Route. This is not required for SIP to work as long as the UAs are able to talk to each other independently of the SIP proxy after a session is established. But probably this is not your case. Please try adding this to your route{}: if (is_method("INVITE")) record_route(); -------------- next part -------------- An HTML attachment was scrubbed... URL: From miagi_son at proton.me Fri Jun 16 14:21:51 2023 From: miagi_son at proton.me (Pat M) Date: Fri, 16 Jun 2023 14:21:51 +0000 Subject: [OpenSIPS-Users] WSS not sending bye In-Reply-To: References: Message-ID: <5yLaSxwpND0ybGZHDwAH8gom-ctgelSZmm3OwZqhpYX8Ym35iMfhNLjb1V7AKNyi7dHtG__MscVNasXtcRE58KelyYBL5zTdCR5yEWqCDGs=@proton.me> so even after adding the record route it still does not hangup and send the bye Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Thursday, June 15th, 2023 at 11:02 PM, mayamatakeshi wrote: > On Fri, Jun 16, 2023 at 2:05 AM Pat M wrote: > >> See below >> >> but what i can see there is no Allow, not sure if that is why? >> >>>> > > You are not using Record-Route. > This is not required for SIP to work as long as the UAs are able to talk to each other independently of the SIP proxy after a session is established. > But probably this is not your case. > Please try adding this to your route{}: > if (is_method("INVITE")) > record_route(); -------------- next part -------------- An HTML attachment was scrubbed... URL: From mayamatakeshi at gmail.com Fri Jun 16 23:35:36 2023 From: mayamatakeshi at gmail.com (mayamatakeshi) Date: Sat, 17 Jun 2023 08:35:36 +0900 Subject: [OpenSIPS-Users] WSS not sending bye In-Reply-To: <5yLaSxwpND0ybGZHDwAH8gom-ctgelSZmm3OwZqhpYX8Ym35iMfhNLjb1V7AKNyi7dHtG__MscVNasXtcRE58KelyYBL5zTdCR5yEWqCDGs=@proton.me> References: <5yLaSxwpND0ybGZHDwAH8gom-ctgelSZmm3OwZqhpYX8Ym35iMfhNLjb1V7AKNyi7dHtG__MscVNasXtcRE58KelyYBL5zTdCR5yEWqCDGs=@proton.me> Message-ID: Have you confirmed a Record-Route header was added to the SIP messages exchanged? Anyway, I would try to enable debug log in the SIP client to see what it is deciding to do when you press the hangup button (ideally we should see the BYE and the address to where the request is being sent to, if it is failing to open a WSS connection with opensips etc). On Fri, Jun 16, 2023 at 11:22 PM Pat M wrote: > so even after adding the record route it still does not hangup and send > the bye > > Sent with Proton Mail secure email. > > ------- Original Message ------- > On Thursday, June 15th, 2023 at 11:02 PM, mayamatakeshi < > mayamatakeshi at gmail.com> wrote: > > > > On Fri, Jun 16, 2023 at 2:05 AM Pat M wrote: > >> See below >> >> but what i can see there is no Allow, not sure if that is why? >> >> >>> You are not using Record-Route. > This is not required for SIP to work as long as the UAs are able to talk > to each other independently of the SIP proxy after a session is established. > But probably this is not your case. > Please try adding this to your route{}: > > if (is_method("INVITE")) > record_route(); > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 20 12:10:49 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 20 Jun 2023 15:10:49 +0300 Subject: [OpenSIPS-Users] OpenSIPS 3.4 updates Message-ID: <76baae35-71bf-136c-5697-74d53122c264@opensips.org> Hi all, Here are some quick updates on the in-progress release of major 3.4 : * 3.4.0-rc1 was just released, containing a good amount of fixes * 3.4.0 stable is planned to be released on 19th of July, so stay tuned ;) Best regards, -- Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com From amel.guesmi at sofrecom.com Tue Jun 20 14:56:24 2023 From: amel.guesmi at sofrecom.com (amel.guesmi at sofrecom.com) Date: Tue, 20 Jun 2023 14:56:24 +0000 Subject: [OpenSIPS-Users] Remove a field from the header PAI Diversion and History info - Opensips2.4 and 3.3 In-Reply-To: References: Message-ID: Hello mates, Sorry for sending my message several times. I need your help I want to remove a field from the headers PAI, Diversion and History info. I can remove the whole header by loading the sipmsgops and the function Remove_hd But i did not find a way how to remove a specefic field in the header PAI for example. Could you please help ? Thank you Best regards Amel -------------- next part -------------- An HTML attachment was scrubbed... URL: From mayamatakeshi at gmail.com Tue Jun 20 21:26:03 2023 From: mayamatakeshi at gmail.com (mayamatakeshi) Date: Wed, 21 Jun 2023 06:26:03 +0900 Subject: [OpenSIPS-Users] Remove a field from the header PAI Diversion and History info - Opensips2.4 and 3.3 In-Reply-To: References: Message-ID: I have not tested it but I think you could use {re.subst,expression} to create a variable with the value of the header with the desired field removed and then use append_hf to insert the variable as the modified header. On Tue, Jun 20, 2023 at 11:58 PM wrote: > Hello mates, > > > > Sorry for sending my message several times. I need your help > > I want to remove a field from the headers PAI, Diversion and History info. > > > > I can remove the whole header by loading the *sipmsgops* and the function > Remove_hd > > But i did not find a way how to remove a specefic field in the header PAI > for example. > > > > Could you please help ? > > > > Thank you > > > > Best regards > > > > Amel > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mayamatakeshi at gmail.com Tue Jun 20 21:28:15 2023 From: mayamatakeshi at gmail.com (mayamatakeshi) Date: Wed, 21 Jun 2023 06:28:15 +0900 Subject: [OpenSIPS-Users] Remove a field from the header PAI Diversion and History info - Opensips2.4 and 3.3 In-Reply-To: References: Message-ID: On Wed, Jun 21, 2023 at 6:26 AM mayamatakeshi wrote: > I have not tested it but I think you could use > {re.subst,expression} > > Sorry, actually, that link was for kamailio. For opensips it is: {re.subst,reg_exp} > to create a variable with the value of the header with the desired field > removed and then use append_hf to insert the variable as the modified > header. > > On Tue, Jun 20, 2023 at 11:58 PM wrote: > >> Hello mates, >> >> >> >> Sorry for sending my message several times. I need your help >> >> I want to remove a field from the headers PAI, Diversion and History >> info. >> >> >> >> I can remove the whole header by loading the *sipmsgops* and the >> function Remove_hd >> >> But i did not find a way how to remove a specefic field in the header >> PAI for example. >> >> >> >> Could you please help ? >> >> >> >> Thank you >> >> >> >> Best regards >> >> >> >> Amel >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From liviu at opensips.org Wed Jun 21 12:22:20 2023 From: liviu at opensips.org (Liviu Chircu) Date: Wed, 21 Jun 2023 15:22:20 +0300 Subject: [OpenSIPS-Users] [Release] OpenSIPS 3.3.6, 3.2.13 and 3.1.16 Minor Releases Message-ID: Hi, everyone! The OpenSIPS 3.3.6, 3.2.13 and 3.1.16 minor releases have just been tagged, packing an important number of fixes done in the past two months (over 30 backports in total). Detailed changelogs are available on the website^[1][2][3] . [1]: https://opensips.org/pub/opensips/3.1.16/ChangeLog [2]: https://opensips.org/pub/opensips/3.2.13/ChangeLog [3]: https://opensips.org/pub/opensips/3.3.6/ChangeLog Happy Hacking! OpenSIPS Team -------------- next part -------------- An HTML attachment was scrubbed... URL: From spanda at 3clogic.com Tue Jun 27 08:00:23 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Tue, 27 Jun 2023 13:30:23 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> Message-ID: Hi , Initially when I am running the process I'm getting the *opensips_fifo *file inside /*tmp *directory . But after some time that file is getting deleted automatically and hence I am not able to run opensips-cli command as well . What can be the reason ? Where do I start debugging ? *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu wrote: > Hi, > > Doing `opensips-cli -x mi ps` will list all the opensips processes and > their role within OpenSIPS - this will help you understand the overall set > of procs. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/1/23 2:37 PM, Sasmita Panda wrote: > > In 3.2 I think we are not defining children per process . We have > udp_worker or tcp_worker . > > log_level=4 > log_stderror=no > log_facility=LOG_LOCAL5 > > #udp_workers=4 > tcp_workers=2 > > disable_dns_blacklist=yes > > This is my configuration . > > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > > > On Thu, Jun 1, 2023 at 4:53 PM Richard Robson > wrote: > >> How many children are defined in your script. You will get one process >> per child >> >> Richard >> >> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote: >> >>> Hi All , >>> >>> >>> I am using opensips 3.2 >>> version: opensips 3.2.3 (x86_64/linux) >>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, >>> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, >>> MAX_URI_SIZE 1024, BUF_SIZE 65535 >>> poll method support: poll, epoll, sigio_rt, select. >>> svn revision: 3831:3864 >>> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >>> >>> When I am initially starting the service I am getting a single process >>> running . After some time when I am checking there are so many processes >>> running automatically . I have pasted the output of the below file . >>> >>> Please update here what's the reason behind this . >>> >>> https://pastebin.com/gu3Js6Fe >>> >>> >>> >>> *Thanks & Regards* >>> *Sasmita Panda* >>> *Senior Network Testing and Software Engineer* >>> *3CLogic , ph:07827611765* >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > > _______________________________________________ > Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 27 08:46:12 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 27 Jun 2023 11:46:12 +0300 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> Message-ID: <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> Hi, Be sure you are not running multiple instance of OpenSIPS, fighting over the fifo file. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/27/23 11:00 AM, Sasmita Panda wrote: > Hi , > > Initially when I am running the process I'm getting the *opensips_fifo > *file inside /*tmp *directory . > > But after some time that file is getting deleted automatically and > hence I am not able to run opensips-cli command as well . > > What can be the reason ? Where do I start debugging ? > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > > On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu > > wrote: > > Hi, > > Doing `opensips-cli -x mi ps` will list all the opensips processes > and their role within OpenSIPS - this will help you understand the > overall set of procs. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/1/23 2:37 PM, Sasmita Panda wrote: >> In 3.2 I think we are not defining children per process . We have >> udp_worker or tcp_worker . >> >> log_level=4 >> log_stderror=no >> log_facility=LOG_LOCAL5 >> >> #udp_workers=4 >> tcp_workers=2 >> >> disable_dns_blacklist=yes >> >> This is my configuration . >> >> */ >> /* >> */Thanks & Regards/* >> /Sasmita Panda/ >> /Senior Network Testing and Software Engineer/ >> /3CLogic , ph:07827611765/ >> >> >> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >> > wrote: >> >> How many children are defined in your script. You will get >> one process per child >> >> Richard >> >> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, > > wrote: >> >> Hi All , >> >> >> I am using opensips 3.2 >> version: opensips 3.2.3 (x86_64/linux) >> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, >> PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, >> FAST_LOCK-ADAPTIVE_WAIT >> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, >> MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 >> poll method support: poll, epoll, sigio_rt, select. >> svn revision: 3831:3864 >> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >> >> When I am initially starting the service I am getting a >> single process running . After some time when I am >> checking there are so many processes running >> automatically . I have pasted the output of the below file . >> >> Please update here what's the reason behind this . >> >> https://pastebin.com/gu3Js6Fe >> >> >> >> */Thanks & Regards/* >> /Sasmita Panda/ >> /Senior Network Testing and Software Engineer/ >> /3CLogic , ph:07827611765/ >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From spanda at 3clogic.com Tue Jun 27 09:18:57 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Tue, 27 Jun 2023 14:48:57 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> Message-ID: No , I am running only 1 instance of opensips in one ec2-instance here . When I am starting Openisps . *ps -aef| grep opensips | wc -l * : this command output is *22 * /usr/local/bin/opensips-cli -x mi ps : Output of this command while starting . https://pastebin.com/H0yNeecA *After 5/10mins when I am running the same command :* *ps -aef| grep opensips | wc -l * : output is *169 *(its increasing gradually ) And at that time eventually the fifo file is also getting deleted . As this increases , after sometime there are too many open connections with Mysql getting created and hence there are some errors as well for "too many open connections " . Below is the logs I am getting . https://pastebin.com/E6WxjeiC At this point , my call is also not getting connected as the dynamic routing module is not getting initiated . I was about to upgrade my whole system to 3.2 and in the last stage I am facing this issue . Quit blocked here . From long time I am trying to debug this but not getting any hunch . Please help . *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Tue, Jun 27, 2023 at 2:16 PM Bogdan-Andrei Iancu wrote: > Hi, > > Be sure you are not running multiple instance of OpenSIPS, fighting over > the fifo file. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/27/23 11:00 AM, Sasmita Panda wrote: > > Hi , > > Initially when I am running the process I'm getting the *opensips_fifo *file > inside /*tmp *directory . > > But after some time that file is getting deleted automatically and hence I > am not able to run opensips-cli command as well . > > What can be the reason ? Where do I start debugging ? > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > > > On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu > wrote: > >> Hi, >> >> Doing `opensips-cli -x mi ps` will list all the opensips processes and >> their role within OpenSIPS - this will help you understand the overall set >> of procs. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/1/23 2:37 PM, Sasmita Panda wrote: >> >> In 3.2 I think we are not defining children per process . We have >> udp_worker or tcp_worker . >> >> log_level=4 >> log_stderror=no >> log_facility=LOG_LOCAL5 >> >> #udp_workers=4 >> tcp_workers=2 >> >> disable_dns_blacklist=yes >> >> This is my configuration . >> >> >> *Thanks & Regards* >> *Sasmita Panda* >> *Senior Network Testing and Software Engineer* >> *3CLogic , ph:07827611765* >> >> >> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >> wrote: >> >>> How many children are defined in your script. You will get one process >>> per child >>> >>> Richard >>> >>> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote: >>> >>>> Hi All , >>>> >>>> >>>> I am using opensips 3.2 >>>> version: opensips 3.2.3 (x86_64/linux) >>>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, >>>> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, >>>> MAX_URI_SIZE 1024, BUF_SIZE 65535 >>>> poll method support: poll, epoll, sigio_rt, select. >>>> svn revision: 3831:3864 >>>> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >>>> >>>> When I am initially starting the service I am getting a single process >>>> running . After some time when I am checking there are so many processes >>>> running automatically . I have pasted the output of the below file . >>>> >>>> Please update here what's the reason behind this . >>>> >>>> https://pastebin.com/gu3Js6Fe >>>> >>>> >>>> >>>> *Thanks & Regards* >>>> *Sasmita Panda* >>>> *Senior Network Testing and Software Engineer* >>>> *3CLogic , ph:07827611765* >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.opensips.org >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >> >> _______________________________________________ >> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From denys.pozniak at gmail.com Tue Jun 27 13:03:02 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Tue, 27 Jun 2023 16:03:02 +0300 Subject: [OpenSIPS-Users] dlg_replicated_create: Replicated dialog doesn't match callee's listening socket Message-ID: Hello! If there is any way to force the replication of the dialog within the clusterer to a foreign node that listens to its own public address (PUBLIC_IP) + common anycast one? The call flow is next: Internet -> node_ANYCAST_IP -> node_PUBLIC_IP -> PBX An error about a non-local socket appears on this node: WARNING:dialog:fetch_socket_info: non-local socket :5060>...ignoring ERROR:dialog:dlg_replicated_create: Replicated dialog doesn't match callee's listening socket udp::5060 DBG:dialog:destroy_dlg: destroying dialog 0x7f5b12e78940 DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f5b12e78940 [267:943685935] with clid ' 0032B4CA-3713-EE11-970D-014D030D01EB at 10.25.101.195' and tags 'NULL' 'NULL' ERROR:dialog:receive_dlg_repl: Failed to process a binary packet! There were several similar topics on the mailing list, but I have not yet found a working solution. Thanks in advance! -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 27 13:30:54 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 27 Jun 2023 16:30:54 +0300 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> Message-ID: The logs say your opensips fail to start a due to DB issues : `ERROR:db_mysql:db_mysql_connect: driver error(1040): Too many connections` Rule number one : *READ THE LOGS* ! Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/27/23 12:18 PM, Sasmita Panda wrote: > No , I am running only 1 instance of opensips in one ec2-instance here . > > When I am starting Openisps . > *ps -aef| grep opensips | wc -l * : this command output is *22 * > * > * > /usr/local/bin/opensips-cli -x mi ps  : Output of this command while > starting .* > * > https://pastebin.com/H0yNeecA > * > * > *After 5/10mins when I am running the same command :* > *ps -aef| grep opensips | wc -l * : output is *169 *(its increasing > gradually )* > * > > And at that time eventually the fifo file is also getting deleted . > > As this increases , after sometime there are too many open connections > with Mysql getting created and hence there are some errors as well for > "too many open connections " . > > Below is the logs I am getting . > https://pastebin.com/E6WxjeiC > > At this point , my call is also not getting connected as the dynamic > routing module is not getting initiated . > > I was about to upgrade my whole system to 3.2 and in the last stage I > am facing this issue . Quit blocked here . From long time I am trying > to debug this but not getting any hunch . > > Please help . > > > > > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > > On Tue, Jun 27, 2023 at 2:16 PM Bogdan-Andrei Iancu > > wrote: > > Hi, > > Be sure you are not running multiple instance of OpenSIPS, > fighting over the fifo file. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/27/23 11:00 AM, Sasmita Panda wrote: >> Hi , >> >> Initially when I am running the process I'm getting the >> *opensips_fifo *file inside /*tmp *directory . >> >> But after some time that file is getting deleted automatically >> and hence I am not able to run opensips-cli command as well . >> >> What can be the reason ? Where do I start debugging ? >> >> */Thanks & Regards/* >> /Sasmita Panda/ >> /Senior Network Testing and Software Engineer/ >> /3CLogic , ph:07827611765/ >> >> >> On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu >> > wrote: >> >> Hi, >> >> Doing `opensips-cli -x mi ps` will list all the opensips >> processes and their role within OpenSIPS - this will help you >> understand the overall set of procs. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/1/23 2:37 PM, Sasmita Panda wrote: >>> In 3.2 I think we are not defining children per process . We >>> have udp_worker or tcp_worker . >>> >>> log_level=4 >>> log_stderror=no >>> log_facility=LOG_LOCAL5 >>> >>> #udp_workers=4 >>> tcp_workers=2 >>> >>> disable_dns_blacklist=yes >>> >>> This is my configuration . >>> >>> */ >>> /* >>> */Thanks & Regards/* >>> /Sasmita Panda/ >>> /Senior Network Testing and Software Engineer/ >>> /3CLogic , ph:07827611765/ >>> >>> >>> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >>> > wrote: >>> >>> How many children are defined in your script. You will >>> get one process per child >>> >>> Richard >>> >>> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, >>> > wrote: >>> >>> Hi All , >>> >>> >>> I am using opensips 3.2 >>> version: opensips 3.2.3 (x86_64/linux) >>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, >>> SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, >>> DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE >>> 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 >>> poll method support: poll, epoll, sigio_rt, select. >>> svn revision: 3831:3864 >>> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >>> >>> When I am initially starting the service I am >>> getting a single process running . After some time >>> when I am checking there are so many processes >>> running automatically . I have pasted the output of >>> the below file . >>> >>> Please update here what's the reason behind this . >>> >>> https://pastebin.com/gu3Js6Fe >>> >>> >>> >>> >>> */Thanks & Regards/* >>> /Sasmita Panda/ >>> /Senior Network Testing and Software Engineer/ >>> /3CLogic , ph:07827611765/ >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> >>> >>> _______________________________________________ >>> Users mailing list >>> Users at lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 27 13:34:07 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 27 Jun 2023 16:34:07 +0300 Subject: [OpenSIPS-Users] dlg_replicated_create: Replicated dialog doesn't match callee's listening socket In-Reply-To: References: Message-ID: Hi Denys, You mentioned anycast, so the same IP should be on all servers, right ? why do you have the dialog related to an IP which is not common to all servers ? Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/27/23 4:03 PM, Denys Pozniak wrote: > Hello! > > If there is any way to force the replication of the dialog within the > clusterer to a foreign node that listens to its own public address > (PUBLIC_IP) + common anycast one? > The call flow is next: > Internet -> node_ANYCAST_IP -> node_PUBLIC_IP -> PBX > > An error about a non-local socket appears on this node: > > WARNING:dialog:fetch_socket_info: non-local socket > :5060>...ignoring > ERROR:dialog:dlg_replicated_create: Replicated dialog doesn't match > callee's listening socket udp::5060 > DBG:dialog:destroy_dlg: destroying dialog 0x7f5b12e78940 > DBG:dialog:destroy_dlg: dlg expired or not in list - dlg > 0x7f5b12e78940 [267:943685935] with clid > '0032B4CA-3713-EE11-970D-014D030D01EB at 10.25.101.195 > ' and tags > 'NULL' 'NULL' > ERROR:dialog:receive_dlg_repl: Failed to process a binary packet! > > There were several similar topics on the mailing list, but I have not > yet found a working solution. > Thanks in advance! > -- > > BR, > Denys Pozniak > > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From denys.pozniak at gmail.com Tue Jun 27 13:50:22 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Tue, 27 Jun 2023 16:50:22 +0300 Subject: [OpenSIPS-Users] dlg_replicated_create: Replicated dialog doesn't match callee's listening socket In-Reply-To: References: Message-ID: Each node of the cluster has two public addresses: a shared anycast and its own public. Requests from the Internet come to the anycast address and are sent to the network core through the public one. вт, 27 июн. 2023 г. в 16:34, Bogdan-Andrei Iancu : > Hi Denys, > > You mentioned anycast, so the same IP should be on all servers, right ? > why do you have the dialog related to an IP which is not common to all > servers ? > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/27/23 4:03 PM, Denys Pozniak wrote: > > Hello! > > If there is any way to force the replication of the dialog within the > clusterer to a foreign node that listens to its own public address > (PUBLIC_IP) + common anycast one? > The call flow is next: > Internet -> node_ANYCAST_IP -> node_PUBLIC_IP -> PBX > > An error about a non-local socket appears on this node: > > WARNING:dialog:fetch_socket_info: non-local socket > :5060>...ignoring > ERROR:dialog:dlg_replicated_create: Replicated dialog doesn't match > callee's listening socket udp::5060 > DBG:dialog:destroy_dlg: destroying dialog 0x7f5b12e78940 > DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f5b12e78940 > [267:943685935] with clid ' > 0032B4CA-3713-EE11-970D-014D030D01EB at 10.25.101.195' and tags 'NULL' 'NULL' > ERROR:dialog:receive_dlg_repl: Failed to process a binary packet! > > There were several similar topics on the mailing list, but I have not yet > found a working solution. > Thanks in advance! > -- > > BR, > Denys Pozniak > > > > _______________________________________________ > Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Tue Jun 27 13:53:22 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Tue, 27 Jun 2023 16:53:22 +0300 Subject: [OpenSIPS-Users] dlg_replicated_create: Replicated dialog doesn't match callee's listening socket In-Reply-To: References: Message-ID: <259e5821-33a4-b5d3-a437-e2bd877bbab9@opensips.org> OK, it makes sense. In this case, for its own public address, use a `tag` in its definition - and use the same tag on all the servers. If a tag is defined for the socket, the tag will be used for matching the sockets during replication. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/27/23 4:50 PM, Denys Pozniak wrote: > Each node of the cluster has two public addresses: a shared anycast > and its own public. > Requests from the Internet come to the anycast address and are sent to > the network core through the public one. > > > вт, 27 июн. 2023 г. в 16:34, Bogdan-Andrei Iancu >: > > Hi Denys, > > You mentioned anycast, so the same IP should be on all servers, > right ? why do you have the dialog related to an IP which is not > common to all servers ? > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/27/23 4:03 PM, Denys Pozniak wrote: >> Hello! >> >> If there is any way to force the replication of the dialog within >> the clusterer to a foreign node that listens to its own public >> address (PUBLIC_IP) + common anycast one? >> The call flow is next: >> Internet -> node_ANYCAST_IP -> node_PUBLIC_IP -> PBX >> >> An error about a non-local socket appears on this node: >> >> WARNING:dialog:fetch_socket_info: non-local socket >> :5060>...ignoring >> ERROR:dialog:dlg_replicated_create: Replicated dialog doesn't >> match callee's listening socket udp::5060 >> DBG:dialog:destroy_dlg: destroying dialog 0x7f5b12e78940 >> DBG:dialog:destroy_dlg: dlg expired or not in list - dlg >> 0x7f5b12e78940 [267:943685935] with clid >> '0032B4CA-3713-EE11-970D-014D030D01EB at 10.25.101.195 >> ' and >> tags 'NULL' 'NULL' >> ERROR:dialog:receive_dlg_repl: Failed to process a binary packet! >> >> There were several similar topics on the mailing list, but I have >> not yet found a working solution. >> Thanks in advance! >> -- >> >> BR, >> Denys Pozniak >> >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > -- > > BR, > Denys Pozniak > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From denys.pozniak at gmail.com Tue Jun 27 14:26:25 2023 From: denys.pozniak at gmail.com (Denys Pozniak) Date: Tue, 27 Jun 2023 17:26:25 +0300 Subject: [OpenSIPS-Users] dlg_replicated_create: Replicated dialog doesn't match callee's listening socket In-Reply-To: <259e5821-33a4-b5d3-a437-e2bd877bbab9@opensips.org> References: <259e5821-33a4-b5d3-a437-e2bd877bbab9@opensips.org> Message-ID: it works!!! thank you! вт, 27 июн. 2023 г. в 16:53, Bogdan-Andrei Iancu : > OK, it makes sense. In this case, for its own public address, use a `tag` > in its definition - and use the same tag on all the servers. If a tag is > defined for the socket, the tag will be used for matching the sockets > during replication. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/27/23 4:50 PM, Denys Pozniak wrote: > > Each node of the cluster has two public addresses: a shared anycast and > its own public. > Requests from the Internet come to the anycast address and are sent to the > network core through the public one. > > > вт, 27 июн. 2023 г. в 16:34, Bogdan-Andrei Iancu : > >> Hi Denys, >> >> You mentioned anycast, so the same IP should be on all servers, right ? >> why do you have the dialog related to an IP which is not common to all >> servers ? >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/27/23 4:03 PM, Denys Pozniak wrote: >> >> Hello! >> >> If there is any way to force the replication of the dialog within the >> clusterer to a foreign node that listens to its own public address >> (PUBLIC_IP) + common anycast one? >> The call flow is next: >> Internet -> node_ANYCAST_IP -> node_PUBLIC_IP -> PBX >> >> An error about a non-local socket appears on this node: >> >> WARNING:dialog:fetch_socket_info: non-local socket >> :5060>...ignoring >> ERROR:dialog:dlg_replicated_create: Replicated dialog doesn't match >> callee's listening socket udp::5060 >> DBG:dialog:destroy_dlg: destroying dialog 0x7f5b12e78940 >> DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f5b12e78940 >> [267:943685935] with clid ' >> 0032B4CA-3713-EE11-970D-014D030D01EB at 10.25.101.195' and tags 'NULL' >> 'NULL' >> ERROR:dialog:receive_dlg_repl: Failed to process a binary packet! >> >> There were several similar topics on the mailing list, but I have not yet >> found a working solution. >> Thanks in advance! >> -- >> >> BR, >> Denys Pozniak >> >> >> >> _______________________________________________ >> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> > > -- > > BR, > Denys Pozniak > > > > -- BR, Denys Pozniak -------------- next part -------------- An HTML attachment was scrubbed... URL: From akogan at 5gfuture.com Tue Jun 27 14:59:55 2023 From: akogan at 5gfuture.com (Alexander Kogan) Date: Tue, 27 Jun 2023 18:59:55 +0400 Subject: [OpenSIPS-Users] serialize_branches() and timeouts Message-ID: Hello, I've got such a call flow: Client      OpenSIPS |--INVITE-->| |<--100-----| Vendor1 |           |--INVITE-->| |           |--INVITE-->| |           |--INVITE-->| |           |           |           Vendor2 | |--INVITE------------- >| | |<--100-----------------| | |<--180-----------------| |<--180-----|                       | |           |<--200-----------------| |<--200-----|                       | |           |                       | |           |<--200-----|           | |<--200-----|        | |           |           |           | The first branch was timed out and we switched up to the next one. A bit later we received 200 OK from the first one. The question is - how to avoid passing 200 to the first leg? drop() doesn't work for final responses. I also can't use t_cancel_branches() because it works in onreply_route only which is not called in case of timeout.... -- Best regards, Alexander Kogan, Director of R&D 5g Future http://5gfuture.com From dovid at telecurve.com Tue Jun 27 15:43:01 2023 From: dovid at telecurve.com (Dovid Bender) Date: Tue, 27 Jun 2023 11:43:01 -0400 Subject: [OpenSIPS-Users] Testing of opensips.cfg Message-ID: Hi All, We are trying to automate the update of our ssl certs. I tried by creating a "bad" cert file. When I run "/usr/local/src/opensips/opensips -c /usr/local/etc/opensips/opensips.cfg" it comes back clean as the config is sane however when I try to restart OpenSipS it will obviously fail with: Jun 27 15:37:53 wss-proxy.example.net /usr/local/src/opensips/opensips[311900]: ERROR:tls_openssl:tls_print_errstack: TLS errstack: error:09091064:PEM routines:PEM_read_bio_ex:bad base64 decode Jun 27 15:37:53 wss-proxy.example.net /usr/local/src/opensips/opensips[311900]: ERROR:tls_openssl:tls_print_errstack: TLS errstack: error:140DC009:SSL routines:use_certificate_chain_file:PEM lib Jun 27 15:37:53 wss-proxy.example.net /usr/local/src/opensips/opensips[311900]: ERROR:tls_openssl:load_certificate: unable to load certificate file '/usr/local/etc/opensips/wss-proxy.example.net/cert3_bad.pem' Jun 27 15:37:53 wss-proxy.example.net /usr/local/src/opensips/opensips[311900]: ERROR:tls_mgm:init_tls_domains: Failed to init TLS domain 'example' Jun 27 15:37:53 wss-proxy.example.net /usr/local/src/opensips/opensips[311900]: ERROR:core:init_mod: failed to initialize module tls_mgm Jun 27 15:37:53 wss-proxy.example.net /usr/local/src/opensips/opensips[311900]: ERROR:core:main: error while initializing modules Is there anything I can do to check it see if on restart if OpenSipS will fail? TIA. Dovid -------------- next part -------------- An HTML attachment was scrubbed... URL: From spanda at 3clogic.com Wed Jun 28 04:37:49 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Wed, 28 Jun 2023 10:07:49 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> Message-ID: Yes , I knew that . But I have mentioned its not in the starting . When I am starting opensips service everything is fine and running properly . After sometime this error is comming when the number of process increases which results more numbr of DB connection . When the limit reaches that error is comming . But this is happening in the run time . Not in the initial stage . *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Tue, Jun 27, 2023 at 7:01 PM Bogdan-Andrei Iancu wrote: > The logs say your opensips fail to start a due to DB issues : > `ERROR:db_mysql:db_mysql_connect: driver error(1040): Too many connections` > > Rule number one : *READ THE LOGS* ! > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/27/23 12:18 PM, Sasmita Panda wrote: > > No , I am running only 1 instance of opensips in one ec2-instance here . > > When I am starting Openisps . > *ps -aef| grep opensips | wc -l * : this command output is *22 * > > /usr/local/bin/opensips-cli -x mi ps : Output of this command while > starting . > https://pastebin.com/H0yNeecA > > *After 5/10mins when I am running the same command :* > *ps -aef| grep opensips | wc -l * : output is *169 *(its increasing > gradually ) > > And at that time eventually the fifo file is also getting deleted . > > As this increases , after sometime there are too many open connections > with Mysql getting created and hence there are some errors as well for "too > many open connections " . > > Below is the logs I am getting . > https://pastebin.com/E6WxjeiC > > At this point , my call is also not getting connected as the dynamic > routing module is not getting initiated . > > I was about to upgrade my whole system to 3.2 and in the last stage I am > facing this issue . Quit blocked here . From long time I am trying to debug > this but not getting any hunch . > > Please help . > > > > > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > > > On Tue, Jun 27, 2023 at 2:16 PM Bogdan-Andrei Iancu > wrote: > >> Hi, >> >> Be sure you are not running multiple instance of OpenSIPS, fighting over >> the fifo file. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/27/23 11:00 AM, Sasmita Panda wrote: >> >> Hi , >> >> Initially when I am running the process I'm getting the *opensips_fifo *file >> inside /*tmp *directory . >> >> But after some time that file is getting deleted automatically and hence >> I am not able to run opensips-cli command as well . >> >> What can be the reason ? Where do I start debugging ? >> >> *Thanks & Regards* >> *Sasmita Panda* >> *Senior Network Testing and Software Engineer* >> *3CLogic , ph:07827611765* >> >> >> On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu >> wrote: >> >>> Hi, >>> >>> Doing `opensips-cli -x mi ps` will list all the opensips processes and >>> their role within OpenSIPS - this will help you understand the overall set >>> of procs. >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/1/23 2:37 PM, Sasmita Panda wrote: >>> >>> In 3.2 I think we are not defining children per process . We have >>> udp_worker or tcp_worker . >>> >>> log_level=4 >>> log_stderror=no >>> log_facility=LOG_LOCAL5 >>> >>> #udp_workers=4 >>> tcp_workers=2 >>> >>> disable_dns_blacklist=yes >>> >>> This is my configuration . >>> >>> >>> *Thanks & Regards* >>> *Sasmita Panda* >>> *Senior Network Testing and Software Engineer* >>> *3CLogic , ph:07827611765* >>> >>> >>> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >>> wrote: >>> >>>> How many children are defined in your script. You will get one process >>>> per child >>>> >>>> Richard >>>> >>>> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote: >>>> >>>>> Hi All , >>>>> >>>>> >>>>> I am using opensips 3.2 >>>>> version: opensips 3.2.3 (x86_64/linux) >>>>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, >>>>> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, >>>>> MAX_URI_SIZE 1024, BUF_SIZE 65535 >>>>> poll method support: poll, epoll, sigio_rt, select. >>>>> svn revision: 3831:3864 >>>>> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >>>>> >>>>> When I am initially starting the service I am getting a single process >>>>> running . After some time when I am checking there are so many processes >>>>> running automatically . I have pasted the output of the below file . >>>>> >>>>> Please update here what's the reason behind this . >>>>> >>>>> https://pastebin.com/gu3Js6Fe >>>>> >>>>> >>>>> >>>>> *Thanks & Regards* >>>>> *Sasmita Panda* >>>>> *Senior Network Testing and Software Engineer* >>>>> *3CLogic , ph:07827611765* >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users at lists.opensips.org >>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.opensips.org >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>> >>> _______________________________________________ >>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Wed Jun 28 06:37:40 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Wed, 28 Jun 2023 09:37:40 +0300 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: References: Message-ID: Hi Alexander, According to RFC3261, there is noting a proxy should/must do about a received 200 OK rather than sending further to the caller (even if the 200 OK is received on an old branch). Basically, if for whatever reasons you end up getting 200 OK from several branches of the same transaction, you need to forward them all to caller - why? as in SIP, once a 200 OK was fired by a callee device, there is no signaling /mechanism available to "cancel"/"reject"/"discard" that it. The only way to handle "unwanted" 200 OK is to accept it, ack it  and then send a BYE for it. Now, as a proxy does not have the necessary "logic" to decide which 200 OK to keep and which to BYE, there is nothing to be done than "moving" this decision to the caller - so pass all the 200 OK to caller and let it decide which to keep or not. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/27/23 5:59 PM, Alexander Kogan wrote: > Hello, > > I've got such a call flow: > > Client      OpenSIPS > |--INVITE-->| > |<--100-----| Vendor1 > |           |--INVITE-->| > |           |--INVITE-->| > |           |--INVITE-->| > |           |           |           Vendor2 > | |--INVITE------------- >| > | |<--100-----------------| > | |<--180-----------------| > |<--180-----|                       | > |           |<--200-----------------| > |<--200-----|                       | > |           |                       | > |           |<--200-----|           | > |<--200-----|        | > |           |           |           | > > The first branch was timed out and we switched up to the next one. A > bit later we received 200 OK from the first one. The question is - how > to avoid passing 200 to the first leg? drop() doesn't work for final > responses. I also can't use t_cancel_branches() because it works in > onreply_route only which is not called in case of timeout.... > From bogdan at opensips.org Wed Jun 28 06:41:00 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Wed, 28 Jun 2023 09:41:00 +0300 Subject: [OpenSIPS-Users] Testing of opensips.cfg In-Reply-To: References: Message-ID: Hi Dovid, The "-c" options is for checking the syntax of the cfg file, not actually checking the data used by OpenSIPS, so this is why it does not work for you . I guess you can use some openssl cli tool to validate / check your certs before a restart / reload of TLS part. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/27/23 6:43 PM, Dovid Bender wrote: > Hi All, > > We are trying to automate the update of our ssl certs. I tried by > creating a "bad" cert file. When I run > "/usr/local/src/opensips/opensips -c > /usr/local/etc/opensips/opensips.cfg" it comes back clean as the > config is sane however when I try to restart OpenSipS it will > obviously fail with: > Jun 27 15:37:53 wss-proxy.example.net > /usr/local/src/opensips/opensips[311900]: > ERROR:tls_openssl:tls_print_errstack: TLS errstack: error:09091064:PEM > routines:PEM_read_bio_ex:bad base64 decode > Jun 27 15:37:53 wss-proxy.example.net > /usr/local/src/opensips/opensips[311900]: > ERROR:tls_openssl:tls_print_errstack: TLS errstack: error:140DC009:SSL > routines:use_certificate_chain_file:PEM lib > Jun 27 15:37:53 wss-proxy.example.net > /usr/local/src/opensips/opensips[311900]: > ERROR:tls_openssl:load_certificate: unable to load certificate file > '/usr/local/etc/opensips/wss-proxy.example.net/cert3_bad.pem > ' > Jun 27 15:37:53 wss-proxy.example.net > /usr/local/src/opensips/opensips[311900]: > ERROR:tls_mgm:init_tls_domains: Failed to init TLS domain 'example' > Jun 27 15:37:53 wss-proxy.example.net > /usr/local/src/opensips/opensips[311900]: ERROR:core:init_mod: failed > to initialize module tls_mgm > Jun 27 15:37:53 wss-proxy.example.net > /usr/local/src/opensips/opensips[311900]: ERROR:core:main: error while > initializing modules > > Is there anything I can do to check it see if on restart if OpenSipS > will fail? > > TIA. > > Dovid > > > _______________________________________________ > Users mailing list > Users at lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -------------- next part -------------- An HTML attachment was scrubbed... URL: From spanda at 3clogic.com Wed Jun 28 06:52:12 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Wed, 28 Jun 2023 12:22:12 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> Message-ID: I have installed opensips 3.2 on centos8 , which is working fine without any error . Same code I have installed on centos9 latest version , here its giving the above error . Same as aws ec2 instance and debian 11 . Is this because of the operating system? *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Wed, Jun 28, 2023 at 10:07 AM Sasmita Panda wrote: > Yes , I knew that . But I have mentioned its not in the starting . When I > am starting opensips service everything is fine and running properly . > > After sometime this error is comming when the number of process increases > which results more numbr of DB connection . When the limit reaches that > error is comming . > But this is happening in the run time . Not in the initial stage . > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > > > On Tue, Jun 27, 2023 at 7:01 PM Bogdan-Andrei Iancu > wrote: > >> The logs say your opensips fail to start a due to DB issues : >> `ERROR:db_mysql:db_mysql_connect: driver error(1040): Too many connections` >> >> Rule number one : *READ THE LOGS* ! >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/27/23 12:18 PM, Sasmita Panda wrote: >> >> No , I am running only 1 instance of opensips in one ec2-instance here . >> >> When I am starting Openisps . >> *ps -aef| grep opensips | wc -l * : this command output is *22 * >> >> /usr/local/bin/opensips-cli -x mi ps : Output of this command while >> starting . >> https://pastebin.com/H0yNeecA >> >> *After 5/10mins when I am running the same command :* >> *ps -aef| grep opensips | wc -l * : output is *169 *(its increasing >> gradually ) >> >> And at that time eventually the fifo file is also getting deleted . >> >> As this increases , after sometime there are too many open connections >> with Mysql getting created and hence there are some errors as well for "too >> many open connections " . >> >> Below is the logs I am getting . >> https://pastebin.com/E6WxjeiC >> >> At this point , my call is also not getting connected as the dynamic >> routing module is not getting initiated . >> >> I was about to upgrade my whole system to 3.2 and in the last stage I am >> facing this issue . Quit blocked here . From long time I am trying to debug >> this but not getting any hunch . >> >> Please help . >> >> >> >> >> >> *Thanks & Regards* >> *Sasmita Panda* >> *Senior Network Testing and Software Engineer* >> *3CLogic , ph:07827611765* >> >> >> On Tue, Jun 27, 2023 at 2:16 PM Bogdan-Andrei Iancu >> wrote: >> >>> Hi, >>> >>> Be sure you are not running multiple instance of OpenSIPS, fighting over >>> the fifo file. >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/27/23 11:00 AM, Sasmita Panda wrote: >>> >>> Hi , >>> >>> Initially when I am running the process I'm getting the *opensips_fifo *file >>> inside /*tmp *directory . >>> >>> But after some time that file is getting deleted automatically and hence >>> I am not able to run opensips-cli command as well . >>> >>> What can be the reason ? Where do I start debugging ? >>> >>> *Thanks & Regards* >>> *Sasmita Panda* >>> *Senior Network Testing and Software Engineer* >>> *3CLogic , ph:07827611765* >>> >>> >>> On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu >>> wrote: >>> >>>> Hi, >>>> >>>> Doing `opensips-cli -x mi ps` will list all the opensips processes and >>>> their role within OpenSIPS - this will help you understand the overall set >>>> of procs. >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> https://www.siphub.com >>>> >>>> On 6/1/23 2:37 PM, Sasmita Panda wrote: >>>> >>>> In 3.2 I think we are not defining children per process . We have >>>> udp_worker or tcp_worker . >>>> >>>> log_level=4 >>>> log_stderror=no >>>> log_facility=LOG_LOCAL5 >>>> >>>> #udp_workers=4 >>>> tcp_workers=2 >>>> >>>> disable_dns_blacklist=yes >>>> >>>> This is my configuration . >>>> >>>> >>>> *Thanks & Regards* >>>> *Sasmita Panda* >>>> *Senior Network Testing and Software Engineer* >>>> *3CLogic , ph:07827611765* >>>> >>>> >>>> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >>>> wrote: >>>> >>>>> How many children are defined in your script. You will get one process >>>>> per child >>>>> >>>>> Richard >>>>> >>>>> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote: >>>>> >>>>>> Hi All , >>>>>> >>>>>> >>>>>> I am using opensips 3.2 >>>>>> version: opensips 3.2.3 (x86_64/linux) >>>>>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, >>>>>> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>>>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, >>>>>> MAX_URI_SIZE 1024, BUF_SIZE 65535 >>>>>> poll method support: poll, epoll, sigio_rt, select. >>>>>> svn revision: 3831:3864 >>>>>> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >>>>>> >>>>>> When I am initially starting the service I am getting a single >>>>>> process running . After some time when I am checking there are so many >>>>>> processes running automatically . I have pasted the output of the below >>>>>> file . >>>>>> >>>>>> Please update here what's the reason behind this . >>>>>> >>>>>> https://pastebin.com/gu3Js6Fe >>>>>> >>>>>> >>>>>> >>>>>> *Thanks & Regards* >>>>>> *Sasmita Panda* >>>>>> *Senior Network Testing and Software Engineer* >>>>>> *3CLogic , ph:07827611765* >>>>>> _______________________________________________ >>>>>> Users mailing list >>>>>> Users at lists.opensips.org >>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users at lists.opensips.org >>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>> >>>> >>>> _______________________________________________ >>>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>>> >>>> >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From akogan at 5gfuture.com Wed Jun 28 07:13:32 2023 From: akogan at 5gfuture.com (Alexander Kogan) Date: Wed, 28 Jun 2023 11:13:32 +0400 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: References: Message-ID: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> Hi, I got the point. Nevertheless, isn't it a good idea to have a way to discard messages of branches that have already been timed out instead of reanimating them? E.g. t_check() could return -2 in reply_received(), or drop() action could be allowed for 200... Best regards, Alexander Kogan, Director of R&D 5g Future http://5gfuture.com On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: > Hi Alexander, > > According to RFC3261, there is noting a proxy should/must do about a > received 200 OK rather than sending further to the caller (even if the > 200 OK is received on an old branch). Basically, if for whatever > reasons you end up getting 200 OK from several branches of the same > transaction, you need to forward them all to caller - why? as in SIP, > once a 200 OK was fired by a callee device, there is no signaling > /mechanism available to "cancel"/"reject"/"discard" that it. The only > way to handle "unwanted" 200 OK is to accept it, ack it  and then send > a BYE for it. > Now, as a proxy does not have the necessary "logic" to decide which > 200 OK to keep and which to BYE, there is nothing to be done than > "moving" this decision to the caller - so pass all the 200 OK to > caller and let it decide which to keep or not. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer >   https://www.opensips-solutions.com >   https://www.siphub.com > > On 6/27/23 5:59 PM, Alexander Kogan wrote: >> Hello, >> >> I've got such a call flow: >> >> Client      OpenSIPS >> |--INVITE-->| >> |<--100-----| Vendor1 >> |           |--INVITE-->| >> |           |--INVITE-->| >> |           |--INVITE-->| >> |           |           |           Vendor2 >> | |--INVITE------------- >| >> | |<--100-----------------| >> | |<--180-----------------| >> |<--180-----|                       | >> |           |<--200-----------------| >> |<--200-----|                       | >> |           |                       | >> |           |<--200-----|           | >> |<--200-----|        | >> |           |           |           | >> >> The first branch was timed out and we switched up to the next one. A >> bit later we received 200 OK from the first one. The question is - >> how to avoid passing 200 to the first leg? drop() doesn't work for >> final responses. I also can't use t_cancel_branches() because it >> works in onreply_route only which is not called in case of timeout.... >> > From bogdan at opensips.org Wed Jun 28 07:46:20 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Wed, 28 Jun 2023 10:46:20 +0300 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> Message-ID: <76a8f64e-2aef-a52a-88bd-5235f801c191@opensips.org> What is the socket and processes configuration you have in the cfg? How many procs are created at the end on the working centos8 ? Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/28/23 9:52 AM, Sasmita Panda wrote: > I have installed opensips 3.2 on centos8 , which is working fine > without any error . > > Same code I have installed on centos9 latest version , here its giving > the above error .  Same as aws ec2 instance and debian 11 . > > Is this because of the operating system? > > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > > On Wed, Jun 28, 2023 at 10:07 AM Sasmita Panda > wrote: > > Yes , I knew that . But I have mentioned its not in the starting . > When I am starting opensips service everything is fine and running > properly . > > After sometime this error is comming when the number of process > increases which results more numbr of DB connection . When the > limit reaches that error is comming . > But this is happening in the run time . Not in the initial stage . > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > > On Tue, Jun 27, 2023 at 7:01 PM Bogdan-Andrei Iancu > > wrote: > > The logs say your opensips fail to start a due to DB issues : > `ERROR:db_mysql:db_mysql_connect: driver error(1040): Too many > connections` > > Rule number one : *READ THE LOGS* ! > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/27/23 12:18 PM, Sasmita Panda wrote: >> No , I am running only 1 instance of opensips in one >> ec2-instance here . >> >> When I am starting Openisps . >> *ps -aef| grep opensips | wc -l * : this command output is *22 * >> * >> * >> /usr/local/bin/opensips-cli -x mi ps  : Output of this >> command while starting .* >> * >> https://pastebin.com/H0yNeecA >> * >> * >> *After 5/10mins when I am running the same command :* >> *ps -aef| grep opensips | wc -l * : output is *169 *(its >> increasing gradually )* >> * >> >> And at that time eventually the fifo file is also getting >> deleted . >> >> As this increases , after sometime there are too many open >> connections with Mysql getting created and hence there are >> some errors as well for "too many open connections " . >> >> Below is the logs I am getting . >> https://pastebin.com/E6WxjeiC >> >> At this point , my call is also not getting connected as the >> dynamic routing module is not getting initiated . >> >> I was about to upgrade my whole system to 3.2 and in the last >> stage I am facing this issue . Quit blocked here . From long >> time I am trying to debug this but not getting any hunch . >> >> Please help . >> >> >> >> >> >> */Thanks & Regards/* >> /Sasmita Panda/ >> /Senior Network Testing and Software Engineer/ >> /3CLogic , ph:07827611765/ >> >> >> On Tue, Jun 27, 2023 at 2:16 PM Bogdan-Andrei Iancu >> > wrote: >> >> Hi, >> >> Be sure you are not running multiple instance of >> OpenSIPS, fighting over the fifo file. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/27/23 11:00 AM, Sasmita Panda wrote: >>> Hi , >>> >>> Initially when I am running the process I'm getting the >>> *opensips_fifo *file inside /*tmp *directory . >>> >>> But after some time that file is getting deleted >>> automatically and hence I am not able to run >>> opensips-cli command as well . >>> >>> What can be the reason ? Where do I start debugging ? >>> >>> */Thanks & Regards/* >>> /Sasmita Panda/ >>> /Senior Network Testing and Software Engineer/ >>> /3CLogic , ph:07827611765/ >>> >>> >>> On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu >>> > wrote: >>> >>> Hi, >>> >>> Doing `opensips-cli -x mi ps` will list all the >>> opensips processes and their role within OpenSIPS - >>> this will help you understand the overall set of procs. >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/1/23 2:37 PM, Sasmita Panda wrote: >>>> In 3.2 I think we are not defining children per >>>> process . We have udp_worker or tcp_worker . >>>> >>>> log_level=4 >>>> log_stderror=no >>>> log_facility=LOG_LOCAL5 >>>> >>>> #udp_workers=4 >>>> tcp_workers=2 >>>> >>>> disable_dns_blacklist=yes >>>> >>>> This is my configuration . >>>> >>>> */ >>>> /* >>>> */Thanks & Regards/* >>>> /Sasmita Panda/ >>>> /Senior Network Testing and Software Engineer/ >>>> /3CLogic , ph:07827611765/ >>>> >>>> >>>> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >>>> >>> > wrote: >>>> >>>> How many children are defined in your script. >>>> You will get one process per child >>>> >>>> Richard >>>> >>>> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, >>>> >>> > wrote: >>>> >>>> Hi All , >>>> >>>> >>>> I am using opensips 3.2 >>>> version: opensips 3.2.3 (x86_64/linux) >>>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, >>>> SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, >>>> HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>>> ADAPTIVE_WAIT_LOOPS=1024, >>>> MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, >>>> MAX_URI_SIZE 1024, BUF_SIZE 65535 >>>> poll method support: poll, epoll, sigio_rt, >>>> select. >>>> svn revision: 3831:3864 >>>> main.c compiled on 07:29:49 Jun 21 2022 >>>> with gcc 10 >>>> >>>> When I am initially starting the service I >>>> am getting a single process running . After >>>> some time when I am checking there are so >>>> many processes running automatically . I >>>> have pasted the output of the below file . >>>> >>>> Please update here what's the reason behind >>>> this . >>>> >>>> https://pastebin.com/gu3Js6Fe >>>> >>>> >>>> >>>> >>>> */Thanks & Regards/* >>>> /Sasmita Panda/ >>>> /Senior Network Testing and Software Engineer/ >>>> /3CLogic , ph:07827611765/ >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.opensips.org >>>> >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.opensips.org >>>> >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>>> >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.opensips.org >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Wed Jun 28 07:52:55 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Wed, 28 Jun 2023 10:52:55 +0300 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> References: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> Message-ID: <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> Hi Alexander. The problem here is not related to the ability or inability of OpenSIPS to drop the late 200 OK - the problem is you MUST not drop it, as you will break the signaling. Again, a callee party sending a 200 OK expects an ACK and nothing else. If you drop (on OpenSIPS level) the late 200 OK, the vendor 1 will remain inconsistent - it will keep retransmitting the 200 OK as it expected the ACK for it. Of course, there is the ugly approach of "playing dead", dropping every single late 200 OK from Vendor 1, forcing it to generate a BYE (eventually) and close the call. But this is something really ugly. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/28/23 10:13 AM, Alexander Kogan wrote: > Hi, > > I got the point. Nevertheless, isn't it a good idea to have a way to > discard messages of branches that have already been timed out instead > of reanimating them? E.g. t_check() could return -2 in > reply_received(), or drop() action could be allowed for 200... > > Best regards, > Alexander Kogan, > Director of R&D > 5g Future > http://5gfuture.com > > > On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: >> Hi Alexander, >> >> According to RFC3261, there is noting a proxy should/must do about a >> received 200 OK rather than sending further to the caller (even if >> the 200 OK is received on an old branch). Basically, if for whatever >> reasons you end up getting 200 OK from several branches of the same >> transaction, you need to forward them all to caller - why? as in SIP, >> once a 200 OK was fired by a callee device, there is no signaling >> /mechanism available to "cancel"/"reject"/"discard" that it. The only >> way to handle "unwanted" 200 OK is to accept it, ack it  and then >> send a BYE for it. >> Now, as a proxy does not have the necessary "logic" to decide which >> 200 OK to keep and which to BYE, there is nothing to be done than >> "moving" this decision to the caller - so pass all the 200 OK to >> caller and let it decide which to keep or not. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >>   https://www.opensips-solutions.com >>   https://www.siphub.com >> >> On 6/27/23 5:59 PM, Alexander Kogan wrote: >>> Hello, >>> >>> I've got such a call flow: >>> >>> Client      OpenSIPS >>> |--INVITE-->| >>> |<--100-----| Vendor1 >>> |           |--INVITE-->| >>> |           |--INVITE-->| >>> |           |--INVITE-->| >>> |           |           |           Vendor2 >>> | |--INVITE------------- >| >>> | |<--100-----------------| >>> | |<--180-----------------| >>> |<--180-----|                       | >>> |           |<--200-----------------| >>> |<--200-----|                       | >>> |           |                       | >>> |           |<--200-----|           | >>> |<--200-----|        | >>> |           |           |           | >>> >>> The first branch was timed out and we switched up to the next one. A >>> bit later we received 200 OK from the first one. The question is - >>> how to avoid passing 200 to the first leg? drop() doesn't work for >>> final responses. I also can't use t_cancel_branches() because it >>> works in onreply_route only which is not called in case of timeout.... >>> >> From akogan at 5gfuture.com Wed Jun 28 08:05:56 2023 From: akogan at 5gfuture.com (Alexander Kogan) Date: Wed, 28 Jun 2023 12:05:56 +0400 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> References: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> Message-ID: <2eca18d2-a89e-ca07-3b4f-96247deb7595@5gfuture.com> Agreed, it's really ugly. But on practice it means that the caller has two confirmed dialogs with the same did, but opensips has only one. And when caller sends BYE for one of its dialogs it ruins the dialog on OpenSIPS.... So it seems much better to make an ugly solution... Best regards, Alexander Kogan, Director of R&D 5g Future http://5gfuture.com On 28.06.2023 11:52, Bogdan-Andrei Iancu wrote: > Hi Alexander. > > The problem here is not related to the ability or inability of > OpenSIPS to drop the late 200 OK - the problem is you MUST not drop > it, as you will break the signaling. Again, a callee party sending a > 200 OK expects an ACK and nothing else. > If you drop (on OpenSIPS level) the late 200 OK, the vendor 1 will > remain inconsistent - it will keep retransmitting the 200 OK as it > expected the ACK for it. > > Of course, there is the ugly approach of "playing dead", dropping > every single late 200 OK from Vendor 1, forcing it to generate a BYE > (eventually) and close the call. But this is something really ugly. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer >   https://www.opensips-solutions.com >   https://www.siphub.com > > On 6/28/23 10:13 AM, Alexander Kogan wrote: >> Hi, >> >> I got the point. Nevertheless, isn't it a good idea to have a way to >> discard messages of branches that have already been timed out instead >> of reanimating them? E.g. t_check() could return -2 in >> reply_received(), or drop() action could be allowed for 200... >> >> Best regards, >> Alexander Kogan, >> Director of R&D >> 5g Future >> http://5gfuture.com >> >> >> On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: >>> Hi Alexander, >>> >>> According to RFC3261, there is noting a proxy should/must do about a >>> received 200 OK rather than sending further to the caller (even if >>> the 200 OK is received on an old branch). Basically, if for whatever >>> reasons you end up getting 200 OK from several branches of the same >>> transaction, you need to forward them all to caller - why? as in >>> SIP, once a 200 OK was fired by a callee device, there is no >>> signaling /mechanism available to "cancel"/"reject"/"discard" that >>> it. The only way to handle "unwanted" 200 OK is to accept it, ack >>> it  and then send a BYE for it. >>> Now, as a proxy does not have the necessary "logic" to decide which >>> 200 OK to keep and which to BYE, there is nothing to be done than >>> "moving" this decision to the caller - so pass all the 200 OK to >>> caller and let it decide which to keep or not. >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>>   https://www.opensips-solutions.com >>>   https://www.siphub.com >>> >>> On 6/27/23 5:59 PM, Alexander Kogan wrote: >>>> Hello, >>>> >>>> I've got such a call flow: >>>> >>>> Client      OpenSIPS >>>> |--INVITE-->| >>>> |<--100-----| Vendor1 >>>> |           |--INVITE-->| >>>> |           |--INVITE-->| >>>> |           |--INVITE-->| >>>> |           |           |           Vendor2 >>>> | |--INVITE------------- >| >>>> | |<--100-----------------| >>>> | |<--180-----------------| >>>> |<--180-----|                       | >>>> |           |<--200-----------------| >>>> |<--200-----|                       | >>>> |           |                       | >>>> |           |<--200-----|           | >>>> |<--200-----|        | >>>> |           |           |           | >>>> >>>> The first branch was timed out and we switched up to the next one. >>>> A bit later we received 200 OK from the first one. The question is >>>> - how to avoid passing 200 to the first leg? drop() doesn't work >>>> for final responses. I also can't use t_cancel_branches() because >>>> it works in onreply_route only which is not called in case of >>>> timeout.... >>>> >>> > From spanda at 3clogic.com Wed Jun 28 09:17:33 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Wed, 28 Jun 2023 14:47:33 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: <76a8f64e-2aef-a52a-88bd-5235f801c191@opensips.org> References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> <76a8f64e-2aef-a52a-88bd-5235f801c191@opensips.org> Message-ID: centos9 : initially when running the config number of process : 22 after 5/10min - number of process 169 . That increases gradually as well . centos8 : initially when running the config number of process : 22 This is maintained throughout . It's not increasing at all . socket : socket=udp:ip:5505 socket=udp:ip:5508 This is configured in both the servers . Config is the same for both . config file : https://pastebin.com/huJ7yc4b *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Wed, Jun 28, 2023 at 1:16 PM Bogdan-Andrei Iancu wrote: > What is the socket and processes configuration you have in the cfg? > > How many procs are created at the end on the working centos8 ? > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/28/23 9:52 AM, Sasmita Panda wrote: > > I have installed opensips 3.2 on centos8 , which is working fine without > any error . > > Same code I have installed on centos9 latest version , here its giving the > above error . Same as aws ec2 instance and debian 11 . > > Is this because of the operating system? > > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > > > On Wed, Jun 28, 2023 at 10:07 AM Sasmita Panda wrote: > >> Yes , I knew that . But I have mentioned its not in the starting . When I >> am starting opensips service everything is fine and running properly . >> >> After sometime this error is comming when the number of process increases >> which results more numbr of DB connection . When the limit reaches that >> error is comming . >> But this is happening in the run time . Not in the initial stage . >> >> *Thanks & Regards* >> *Sasmita Panda* >> *Senior Network Testing and Software Engineer* >> *3CLogic , ph:07827611765* >> >> >> On Tue, Jun 27, 2023 at 7:01 PM Bogdan-Andrei Iancu >> wrote: >> >>> The logs say your opensips fail to start a due to DB issues : >>> `ERROR:db_mysql:db_mysql_connect: driver error(1040): Too many connections` >>> >>> Rule number one : *READ THE LOGS* ! >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/27/23 12:18 PM, Sasmita Panda wrote: >>> >>> No , I am running only 1 instance of opensips in one ec2-instance here >>> . >>> >>> When I am starting Openisps . >>> *ps -aef| grep opensips | wc -l * : this command output is *22 * >>> >>> /usr/local/bin/opensips-cli -x mi ps : Output of this command while >>> starting . >>> https://pastebin.com/H0yNeecA >>> >>> *After 5/10mins when I am running the same command :* >>> *ps -aef| grep opensips | wc -l * : output is *169 *(its increasing >>> gradually ) >>> >>> And at that time eventually the fifo file is also getting deleted . >>> >>> As this increases , after sometime there are too many open connections >>> with Mysql getting created and hence there are some errors as well for "too >>> many open connections " . >>> >>> Below is the logs I am getting . >>> https://pastebin.com/E6WxjeiC >>> >>> At this point , my call is also not getting connected as the dynamic >>> routing module is not getting initiated . >>> >>> I was about to upgrade my whole system to 3.2 and in the last stage I am >>> facing this issue . Quit blocked here . From long time I am trying to debug >>> this but not getting any hunch . >>> >>> Please help . >>> >>> >>> >>> >>> >>> *Thanks & Regards* >>> *Sasmita Panda* >>> *Senior Network Testing and Software Engineer* >>> *3CLogic , ph:07827611765* >>> >>> >>> On Tue, Jun 27, 2023 at 2:16 PM Bogdan-Andrei Iancu >>> wrote: >>> >>>> Hi, >>>> >>>> Be sure you are not running multiple instance of OpenSIPS, fighting >>>> over the fifo file. >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> https://www.siphub.com >>>> >>>> On 6/27/23 11:00 AM, Sasmita Panda wrote: >>>> >>>> Hi , >>>> >>>> Initially when I am running the process I'm getting the *opensips_fifo >>>> *file inside /*tmp *directory . >>>> >>>> But after some time that file is getting deleted automatically and >>>> hence I am not able to run opensips-cli command as well . >>>> >>>> What can be the reason ? Where do I start debugging ? >>>> >>>> *Thanks & Regards* >>>> *Sasmita Panda* >>>> *Senior Network Testing and Software Engineer* >>>> *3CLogic , ph:07827611765* >>>> >>>> >>>> On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> Doing `opensips-cli -x mi ps` will list all the opensips processes and >>>>> their role within OpenSIPS - this will help you understand the overall set >>>>> of procs. >>>>> >>>>> Regards, >>>>> >>>>> Bogdan-Andrei Iancu >>>>> >>>>> OpenSIPS Founder and Developer >>>>> https://www.opensips-solutions.com >>>>> https://www.siphub.com >>>>> >>>>> On 6/1/23 2:37 PM, Sasmita Panda wrote: >>>>> >>>>> In 3.2 I think we are not defining children per process . We have >>>>> udp_worker or tcp_worker . >>>>> >>>>> log_level=4 >>>>> log_stderror=no >>>>> log_facility=LOG_LOCAL5 >>>>> >>>>> #udp_workers=4 >>>>> tcp_workers=2 >>>>> >>>>> disable_dns_blacklist=yes >>>>> >>>>> This is my configuration . >>>>> >>>>> >>>>> *Thanks & Regards* >>>>> *Sasmita Panda* >>>>> *Senior Network Testing and Software Engineer* >>>>> *3CLogic , ph:07827611765* >>>>> >>>>> >>>>> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >>>>> wrote: >>>>> >>>>>> How many children are defined in your script. You will get one >>>>>> process per child >>>>>> >>>>>> Richard >>>>>> >>>>>> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote: >>>>>> >>>>>>> Hi All , >>>>>>> >>>>>>> >>>>>>> I am using opensips 3.2 >>>>>>> version: opensips 3.2.3 (x86_64/linux) >>>>>>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, >>>>>>> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>>>>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN >>>>>>> 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 >>>>>>> poll method support: poll, epoll, sigio_rt, select. >>>>>>> svn revision: 3831:3864 >>>>>>> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >>>>>>> >>>>>>> When I am initially starting the service I am getting a single >>>>>>> process running . After some time when I am checking there are so many >>>>>>> processes running automatically . I have pasted the output of the below >>>>>>> file . >>>>>>> >>>>>>> Please update here what's the reason behind this . >>>>>>> >>>>>>> https://pastebin.com/gu3Js6Fe >>>>>>> >>>>>>> >>>>>>> >>>>>>> *Thanks & Regards* >>>>>>> *Sasmita Panda* >>>>>>> *Senior Network Testing and Software Engineer* >>>>>>> *3CLogic , ph:07827611765* >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> Users at lists.opensips.org >>>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>>>> >>>>>> _______________________________________________ >>>>>> Users mailing list >>>>>> Users at lists.opensips.org >>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>> >>>>> >>>>> >>>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Wed Jun 28 10:06:55 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Wed, 28 Jun 2023 13:06:55 +0300 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: <2eca18d2-a89e-ca07-3b4f-96247deb7595@5gfuture.com> References: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> <2eca18d2-a89e-ca07-3b4f-96247deb7595@5gfuture.com> Message-ID: <8477f7f3-60e1-f382-76d5-d885af0e9d04@opensips.org> True, multiple 200 OK replies will mess up the dialog module, as the module is not able to separately keep track of the calls deriving from the same original dialog... You may have good chances to get it work almost correctly if using the sip only dialog matching (in dialog module), as the to-tag will make the difference between the two calls resulted from the original dialog. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/28/23 11:05 AM, Alexander Kogan wrote: > Agreed, it's really ugly. But on practice it means that the caller has > two confirmed dialogs with the same did, but opensips has only one. > And when caller sends BYE for one of its dialogs it ruins the dialog > on OpenSIPS.... So it seems much better to make an ugly solution... > > Best regards, > Alexander Kogan, > Director of R&D > 5g Future > http://5gfuture.com > > > On 28.06.2023 11:52, Bogdan-Andrei Iancu wrote: >> Hi Alexander. >> >> The problem here is not related to the ability or inability of >> OpenSIPS to drop the late 200 OK - the problem is you MUST not drop >> it, as you will break the signaling. Again, a callee party sending a >> 200 OK expects an ACK and nothing else. >> If you drop (on OpenSIPS level) the late 200 OK, the vendor 1 will >> remain inconsistent - it will keep retransmitting the 200 OK as it >> expected the ACK for it. >> >> Of course, there is the ugly approach of "playing dead", dropping >> every single late 200 OK from Vendor 1, forcing it to generate a BYE >> (eventually) and close the call. But this is something really ugly. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >>   https://www.opensips-solutions.com >>   https://www.siphub.com >> >> On 6/28/23 10:13 AM, Alexander Kogan wrote: >>> Hi, >>> >>> I got the point. Nevertheless, isn't it a good idea to have a way to >>> discard messages of branches that have already been timed out >>> instead of reanimating them? E.g. t_check() could return -2 in >>> reply_received(), or drop() action could be allowed for 200... >>> >>> Best regards, >>> Alexander Kogan, >>> Director of R&D >>> 5g Future >>> http://5gfuture.com >>> >>> >>> On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: >>>> Hi Alexander, >>>> >>>> According to RFC3261, there is noting a proxy should/must do about >>>> a received 200 OK rather than sending further to the caller (even >>>> if the 200 OK is received on an old branch). Basically, if for >>>> whatever reasons you end up getting 200 OK from several branches of >>>> the same transaction, you need to forward them all to caller - why? >>>> as in SIP, once a 200 OK was fired by a callee device, there is no >>>> signaling /mechanism available to "cancel"/"reject"/"discard" that >>>> it. The only way to handle "unwanted" 200 OK is to accept it, ack >>>> it  and then send a BYE for it. >>>> Now, as a proxy does not have the necessary "logic" to decide which >>>> 200 OK to keep and which to BYE, there is nothing to be done than >>>> "moving" this decision to the caller - so pass all the 200 OK to >>>> caller and let it decide which to keep or not. >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>>   https://www.opensips-solutions.com >>>>   https://www.siphub.com >>>> >>>> On 6/27/23 5:59 PM, Alexander Kogan wrote: >>>>> Hello, >>>>> >>>>> I've got such a call flow: >>>>> >>>>> Client      OpenSIPS >>>>> |--INVITE-->| >>>>> |<--100-----| Vendor1 >>>>> |           |--INVITE-->| >>>>> |           |--INVITE-->| >>>>> |           |--INVITE-->| >>>>> |           |           |           Vendor2 >>>>> | |--INVITE------------- >| >>>>> | |<--100-----------------| >>>>> | |<--180-----------------| >>>>> |<--180-----|                       | >>>>> |           |<--200-----------------| >>>>> |<--200-----|                       | >>>>> |           |                       | >>>>> |           |<--200-----|           | >>>>> |<--200-----|        | >>>>> |           |           |           | >>>>> >>>>> The first branch was timed out and we switched up to the next one. >>>>> A bit later we received 200 OK from the first one. The question is >>>>> - how to avoid passing 200 to the first leg? drop() doesn't work >>>>> for final responses. I also can't use t_cancel_branches() because >>>>> it works in onreply_route only which is not called in case of >>>>> timeout.... >>>>> >>>> >> From bogdan at opensips.org Wed Jun 28 10:12:22 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Wed, 28 Jun 2023 13:12:22 +0300 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> <76a8f64e-2aef-a52a-88bd-5235f801c191@opensips.org> Message-ID: <7eadeaf4-d146-89c4-8028-83ab498738a9@opensips.org> In your configuration I see nothing that may degenerate into creating additional procs (like exec module, auto_scaling, etc). And I assume you have no traffic (SIP or MI) while you get this increasing number of procs (basically opensips should be ideal), right ? Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/28/23 12:17 PM, Sasmita Panda wrote: > centos9 : > initially when running the config > number of process : 22 > after 5/10min - number of process 169 . That increases gradually as > well . > > centos8 : > initially when running the config > number of process : 22 > This is maintained throughout . It's not increasing at all . > > > socket : > socket=udp:ip:5505 > socket=udp:ip:5508 > > This is configured in both the servers . Config is the same for both . > > config file : https://pastebin.com/huJ7yc4b > > > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > > On Wed, Jun 28, 2023 at 1:16 PM Bogdan-Andrei Iancu > > wrote: > > What is the socket and processes configuration you have in the cfg? > > How many procs are created at the end on the working centos8 ? > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/28/23 9:52 AM, Sasmita Panda wrote: >> I have installed opensips 3.2 on centos8 , which is working fine >> without any error . >> >> Same code I have installed on centos9 latest version , here its >> giving the above error .  Same as aws ec2 instance and debian 11 . >> >> Is this because of the operating system? >> >> >> */Thanks & Regards/* >> /Sasmita Panda/ >> /Senior Network Testing and Software Engineer/ >> /3CLogic , ph:07827611765/ >> >> >> On Wed, Jun 28, 2023 at 10:07 AM Sasmita Panda >> > wrote: >> >> Yes , I knew that . But I have mentioned its not in the >> starting . When I am starting opensips service everything is >> fine and running properly . >> >> After sometime this error is comming when the number of >> process increases which results more numbr of DB connection . >> When the limit reaches that error is comming . >> But this is happening in the run time . Not in the initial >> stage . >> >> */Thanks & Regards/* >> /Sasmita Panda/ >> /Senior Network Testing and Software Engineer/ >> /3CLogic , ph:07827611765/ >> >> >> On Tue, Jun 27, 2023 at 7:01 PM Bogdan-Andrei Iancu >> > wrote: >> >> The logs say your opensips fail to start a due to DB >> issues : `ERROR:db_mysql:db_mysql_connect: driver >> error(1040): Too many connections` >> >> Rule number one : *READ THE LOGS* ! >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/27/23 12:18 PM, Sasmita Panda wrote: >>> No , I am running only 1 instance of opensips in one >>> ec2-instance here . >>> >>> When I am starting Openisps . >>> *ps -aef| grep opensips | wc -l * : this command output >>> is *22 * >>> * >>> * >>> /usr/local/bin/opensips-cli -x mi ps  : Output of this >>> command while starting .* >>> * >>> https://pastebin.com/H0yNeecA >>> >>> * >>> * >>> *After 5/10mins when I am running the same command :* >>> *ps -aef| grep opensips | wc -l * : output is *169 *(its >>> increasing gradually )* >>> * >>> >>> And at that time eventually the fifo file is also >>> getting deleted . >>> >>> As this increases , after sometime there are too many >>> open connections with Mysql getting created and hence >>> there are some errors as well for "too many open >>> connections " . >>> >>> Below is the logs I am getting . >>> https://pastebin.com/E6WxjeiC >>> >>> >>> At this point , my call is also not getting connected as >>> the dynamic routing module is not getting initiated . >>> >>> I was about to upgrade my whole system to 3.2 and in the >>> last stage I am facing this issue . Quit blocked here . >>> From long time I am trying to debug this but not getting >>> any hunch . >>> >>> Please help . >>> >>> >>> >>> >>> >>> */Thanks & Regards/* >>> /Sasmita Panda/ >>> /Senior Network Testing and Software Engineer/ >>> /3CLogic , ph:07827611765/ >>> >>> >>> On Tue, Jun 27, 2023 at 2:16 PM Bogdan-Andrei Iancu >>> > wrote: >>> >>> Hi, >>> >>> Be sure you are not running multiple instance of >>> OpenSIPS, fighting over the fifo file. >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/27/23 11:00 AM, Sasmita Panda wrote: >>>> Hi , >>>> >>>> Initially when I am running the process I'm getting >>>> the *opensips_fifo *file inside /*tmp *directory . >>>> >>>> But after some time that file is getting deleted >>>> automatically and hence I am not able to run >>>> opensips-cli command as well . >>>> >>>> What can be the reason ? Where do I start debugging ? >>>> >>>> */Thanks & Regards/* >>>> /Sasmita Panda/ >>>> /Senior Network Testing and Software Engineer/ >>>> /3CLogic , ph:07827611765/ >>>> >>>> >>>> On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu >>>> > >>>> wrote: >>>> >>>> Hi, >>>> >>>> Doing `opensips-cli -x mi ps` will list all the >>>> opensips processes and their role within >>>> OpenSIPS - this will help you understand the >>>> overall set of procs. >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> https://www.siphub.com >>>> >>>> On 6/1/23 2:37 PM, Sasmita Panda wrote: >>>>> In 3.2 I think we are not defining children >>>>> per process . We have udp_worker or tcp_worker . >>>>> >>>>> log_level=4 >>>>> log_stderror=no >>>>> log_facility=LOG_LOCAL5 >>>>> >>>>> #udp_workers=4 >>>>> tcp_workers=2 >>>>> >>>>> disable_dns_blacklist=yes >>>>> >>>>> This is my configuration . >>>>> >>>>> */ >>>>> /* >>>>> */Thanks & Regards/* >>>>> /Sasmita Panda/ >>>>> /Senior Network Testing and Software Engineer/ >>>>> /3CLogic , ph:07827611765/ >>>>> >>>>> >>>>> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >>>>> >>>> > wrote: >>>>> >>>>> How many children are defined in your >>>>> script. You will get one process per child >>>>> >>>>> Richard >>>>> >>>>> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, >>>>> >>>> > wrote: >>>>> >>>>> Hi All , >>>>> >>>>> >>>>> I am using opensips 3.2 >>>>> version: opensips 3.2.3 (x86_64/linux) >>>>> flags: STATS: On, DISABLE_NAGLE, >>>>> USE_MCAST, SHM_MMAP, PKG_MALLOC, >>>>> Q_MALLOC, F_MALLOC, HP_MALLOC, >>>>> DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>>>> ADAPTIVE_WAIT_LOOPS=1024, >>>>> MAX_RECV_BUFFER_SIZE 262144, >>>>> MAX_LISTEN 16, MAX_URI_SIZE 1024, >>>>> BUF_SIZE 65535 >>>>> poll method support: poll, epoll, >>>>> sigio_rt, select. >>>>> svn revision: 3831:3864 >>>>> main.c compiled on 07:29:49 Jun 21 >>>>> 2022 with gcc 10 >>>>> >>>>> When I am initially starting the >>>>> service I am getting a single process >>>>> running . After some time when I am >>>>> checking there are so many processes >>>>> running automatically . I have pasted >>>>> the output of the below file . >>>>> >>>>> Please update here what's the reason >>>>> behind this . >>>>> >>>>> https://pastebin.com/gu3Js6Fe >>>>> >>>>> >>>>> >>>>> >>>>> */Thanks & Regards/* >>>>> /Sasmita Panda/ >>>>> /Senior Network Testing and Software >>>>> Engineer/ >>>>> /3CLogic , ph:07827611765/ >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users at lists.opensips.org >>>>> >>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>> >>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users at lists.opensips.org >>>>> >>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users at lists.opensips.org >>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From akogan at 5gfuture.com Wed Jun 28 11:01:09 2023 From: akogan at 5gfuture.com (Alexander Kogan) Date: Wed, 28 Jun 2023 15:01:09 +0400 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: <8477f7f3-60e1-f382-76d5-d885af0e9d04@opensips.org> References: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> <2eca18d2-a89e-ca07-3b4f-96247deb7595@5gfuture.com> <8477f7f3-60e1-f382-76d5-d885af0e9d04@opensips.org> Message-ID: <0014a55b-dd98-d6a3-d61c-38dced0308e0@5gfuture.com> Well, it would have worked if I didn't need loops.... Best regards, Alexander Kogan, Director of R&D 5g Future http://5gfuture.com On 28.06.2023 14:06, Bogdan-Andrei Iancu wrote: > True, multiple 200 OK replies will mess up the dialog module, as the > module is not able to separately keep track of the calls deriving from > the same original dialog... > You may have good chances to get it work almost correctly if using the > sip only dialog matching (in dialog module), as the to-tag will make > the difference between the two calls resulted from the original dialog. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer >   https://www.opensips-solutions.com >   https://www.siphub.com > > On 6/28/23 11:05 AM, Alexander Kogan wrote: >> Agreed, it's really ugly. But on practice it means that the caller >> has two confirmed dialogs with the same did, but opensips has only >> one. And when caller sends BYE for one of its dialogs it ruins the >> dialog on OpenSIPS.... So it seems much better to make an ugly >> solution... >> >> Best regards, >> Alexander Kogan, >> Director of R&D >> 5g Future >> http://5gfuture.com >> >> >> On 28.06.2023 11:52, Bogdan-Andrei Iancu wrote: >>> Hi Alexander. >>> >>> The problem here is not related to the ability or inability of >>> OpenSIPS to drop the late 200 OK - the problem is you MUST not drop >>> it, as you will break the signaling. Again, a callee party sending a >>> 200 OK expects an ACK and nothing else. >>> If you drop (on OpenSIPS level) the late 200 OK, the vendor 1 will >>> remain inconsistent - it will keep retransmitting the 200 OK as it >>> expected the ACK for it. >>> >>> Of course, there is the ugly approach of "playing dead", dropping >>> every single late 200 OK from Vendor 1, forcing it to generate a BYE >>> (eventually) and close the call. But this is something really ugly. >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>>   https://www.opensips-solutions.com >>>   https://www.siphub.com >>> >>> On 6/28/23 10:13 AM, Alexander Kogan wrote: >>>> Hi, >>>> >>>> I got the point. Nevertheless, isn't it a good idea to have a way >>>> to discard messages of branches that have already been timed out >>>> instead of reanimating them? E.g. t_check() could return -2 in >>>> reply_received(), or drop() action could be allowed for 200... >>>> >>>> Best regards, >>>> Alexander Kogan, >>>> Director of R&D >>>> 5g Future >>>> http://5gfuture.com >>>> >>>> >>>> On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: >>>>> Hi Alexander, >>>>> >>>>> According to RFC3261, there is noting a proxy should/must do about >>>>> a received 200 OK rather than sending further to the caller (even >>>>> if the 200 OK is received on an old branch). Basically, if for >>>>> whatever reasons you end up getting 200 OK from several branches >>>>> of the same transaction, you need to forward them all to caller - >>>>> why? as in SIP, once a 200 OK was fired by a callee device, there >>>>> is no signaling /mechanism available to >>>>> "cancel"/"reject"/"discard" that it. The only way to handle >>>>> "unwanted" 200 OK is to accept it, ack it  and then send a BYE for >>>>> it. >>>>> Now, as a proxy does not have the necessary "logic" to decide >>>>> which 200 OK to keep and which to BYE, there is nothing to be done >>>>> than "moving" this decision to the caller - so pass all the 200 OK >>>>> to caller and let it decide which to keep or not. >>>>> >>>>> Regards, >>>>> >>>>> Bogdan-Andrei Iancu >>>>> >>>>> OpenSIPS Founder and Developer >>>>>   https://www.opensips-solutions.com >>>>>   https://www.siphub.com >>>>> >>>>> On 6/27/23 5:59 PM, Alexander Kogan wrote: >>>>>> Hello, >>>>>> >>>>>> I've got such a call flow: >>>>>> >>>>>> Client      OpenSIPS >>>>>> |--INVITE-->| >>>>>> |<--100-----| Vendor1 >>>>>> |           |--INVITE-->| >>>>>> |           |--INVITE-->| >>>>>> |           |--INVITE-->| >>>>>> |           |           |           Vendor2 >>>>>> | |--INVITE------------- >| >>>>>> | |<--100-----------------| >>>>>> | |<--180-----------------| >>>>>> |<--180-----|                       | >>>>>> |           |<--200-----------------| >>>>>> |<--200-----|                       | >>>>>> |           |                       | >>>>>> |           |<--200-----|           | >>>>>> |<--200-----|        | >>>>>> |           |           |           | >>>>>> >>>>>> The first branch was timed out and we switched up to the next >>>>>> one. A bit later we received 200 OK from the first one. The >>>>>> question is - how to avoid passing 200 to the first leg? drop() >>>>>> doesn't work for final responses. I also can't use >>>>>> t_cancel_branches() because it works in onreply_route only which >>>>>> is not called in case of timeout.... >>>>>> >>>>> >>> > From akogan at 5gfuture.com Wed Jun 28 13:38:55 2023 From: akogan at 5gfuture.com (Alexander Kogan) Date: Wed, 28 Jun 2023 17:38:55 +0400 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: <0014a55b-dd98-d6a3-d61c-38dced0308e0@5gfuture.com> References: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> <2eca18d2-a89e-ca07-3b4f-96247deb7595@5gfuture.com> <8477f7f3-60e1-f382-76d5-d885af0e9d04@opensips.org> <0014a55b-dd98-d6a3-d61c-38dced0308e0@5gfuture.com> Message-ID: <3306381c-677a-fa07-b911-1e080498cb0c@5gfuture.com> BTW, we have the line in log when 200 has been received for timed out branch: /usr/sbin/opensips[9653]: DBG:tm:reply_received: org. status uas=180, *uac[1]=408* local=0 is_invite=1) Of course, it's a fake reply generated on timeout. Does it mean that if OpenSIPS receives a real final reply >=300 and after that it will receive 200, it will pass 200 to the caller? Best regards, Alexander Kogan, Director of R&D 5g Future http://5gfuture.com On 28.06.2023 15:01, Alexander Kogan wrote: > Well, it would have worked if I didn't need loops.... > > Best regards, > Alexander Kogan, > Director of R&D > 5g Future > http://5gfuture.com > > > On 28.06.2023 14:06, Bogdan-Andrei Iancu wrote: >> True, multiple 200 OK replies will mess up the dialog module, as the >> module is not able to separately keep track of the calls deriving >> from the same original dialog... >> You may have good chances to get it work almost correctly if using >> the sip only dialog matching (in dialog module), as the to-tag will >> make the difference between the two calls resulted from the original >> dialog. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/28/23 11:05 AM, Alexander Kogan wrote: >>> Agreed, it's really ugly. But on practice it means that the caller >>> has two confirmed dialogs with the same did, but opensips has only >>> one. And when caller sends BYE for one of its dialogs it ruins the >>> dialog on OpenSIPS.... So it seems much better to make an ugly >>> solution... >>> >>> Best regards, >>> Alexander Kogan, >>> Director of R&D >>> 5g Future >>> http://5gfuture.com >>> >>> >>> On 28.06.2023 11:52, Bogdan-Andrei Iancu wrote: >>>> Hi Alexander. >>>> >>>> The problem here is not related to the ability or inability of >>>> OpenSIPS to drop the late 200 OK - the problem is you MUST not drop >>>> it, as you will break the signaling. Again, a callee party sending >>>> a 200 OK expects an ACK and nothing else. >>>> If you drop (on OpenSIPS level) the late 200 OK, the vendor 1 will >>>> remain inconsistent - it will keep retransmitting the 200 OK as it >>>> expected the ACK for it. >>>> >>>> Of course, there is the ugly approach of "playing dead", dropping >>>> every single late 200 OK from Vendor 1, forcing it to generate a >>>> BYE (eventually) and close the call. But this is something really >>>> ugly. >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> https://www.siphub.com >>>> >>>> On 6/28/23 10:13 AM, Alexander Kogan wrote: >>>>> Hi, >>>>> >>>>> I got the point. Nevertheless, isn't it a good idea to have a way >>>>> to discard messages of branches that have already been timed out >>>>> instead of reanimating them? E.g. t_check() could return -2 in >>>>> reply_received(), or drop() action could be allowed for 200... >>>>> >>>>> Best regards, >>>>> Alexander Kogan, >>>>> Director of R&D >>>>> 5g Future >>>>> http://5gfuture.com >>>>> >>>>> >>>>> On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: >>>>>> Hi Alexander, >>>>>> >>>>>> According to RFC3261, there is noting a proxy should/must do >>>>>> about a received 200 OK rather than sending further to the caller >>>>>> (even if the 200 OK is received on an old branch). Basically, if >>>>>> for whatever reasons you end up getting 200 OK from several >>>>>> branches of the same transaction, you need to forward them all to >>>>>> caller - why? as in SIP, once a 200 OK was fired by a callee >>>>>> device, there is no signaling /mechanism available to >>>>>> "cancel"/"reject"/"discard" that it. The only way to handle >>>>>> "unwanted" 200 OK is to accept it, ack it  and then send a BYE >>>>>> for it. >>>>>> Now, as a proxy does not have the necessary "logic" to decide >>>>>> which 200 OK to keep and which to BYE, there is nothing to be >>>>>> done than "moving" this decision to the caller - so pass all the >>>>>> 200 OK to caller and let it decide which to keep or not. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Bogdan-Andrei Iancu >>>>>> >>>>>> OpenSIPS Founder and Developer >>>>>> https://www.opensips-solutions.com >>>>>> https://www.siphub.com >>>>>> >>>>>> On 6/27/23 5:59 PM, Alexander Kogan wrote: >>>>>>> Hello, >>>>>>> >>>>>>> I've got such a call flow: >>>>>>> >>>>>>> Client      OpenSIPS >>>>>>> |--INVITE-->| >>>>>>> |<--100-----| Vendor1 >>>>>>> |           |--INVITE-->| >>>>>>> |           |--INVITE-->| >>>>>>> |           |--INVITE-->| >>>>>>> |           |           |           Vendor2 >>>>>>> | |--INVITE------------- >| >>>>>>> | |<--100-----------------| >>>>>>> | |<--180-----------------| >>>>>>> |<--180-----|                       | >>>>>>> |           |<--200-----------------| >>>>>>> |<--200-----|                       | >>>>>>> |           |                       | >>>>>>> |           |<--200-----|           | >>>>>>> |<--200-----|        | >>>>>>> |           |           |           | >>>>>>> >>>>>>> The first branch was timed out and we switched up to the next >>>>>>> one. A bit later we received 200 OK from the first one. The >>>>>>> question is - how to avoid passing 200 to the first leg? drop() >>>>>>> doesn't work for final responses. I also can't use >>>>>>> t_cancel_branches() because it works in onreply_route only which >>>>>>> is not called in case of timeout.... >>>>>>> >>>>>> >>>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Thu Jun 29 12:04:50 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 29 Jun 2023 15:04:50 +0300 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: <0014a55b-dd98-d6a3-d61c-38dced0308e0@5gfuture.com> References: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> <2eca18d2-a89e-ca07-3b4f-96247deb7595@5gfuture.com> <8477f7f3-60e1-f382-76d5-d885af0e9d04@opensips.org> <0014a55b-dd98-d6a3-d61c-38dced0308e0@5gfuture.com> Message-ID: Yeah, there is some space for improvements here, in handling this case. Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/28/23 2:01 PM, Alexander Kogan wrote: > Well, it would have worked if I didn't need loops.... > > Best regards, > Alexander Kogan, > Director of R&D > 5g Future > http://5gfuture.com > > > On 28.06.2023 14:06, Bogdan-Andrei Iancu wrote: >> True, multiple 200 OK replies will mess up the dialog module, as the >> module is not able to separately keep track of the calls deriving >> from the same original dialog... >> You may have good chances to get it work almost correctly if using >> the sip only dialog matching (in dialog module), as the to-tag will >> make the difference between the two calls resulted from the original >> dialog. >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >>   https://www.opensips-solutions.com >>   https://www.siphub.com >> >> On 6/28/23 11:05 AM, Alexander Kogan wrote: >>> Agreed, it's really ugly. But on practice it means that the caller >>> has two confirmed dialogs with the same did, but opensips has only >>> one. And when caller sends BYE for one of its dialogs it ruins the >>> dialog on OpenSIPS.... So it seems much better to make an ugly >>> solution... >>> >>> Best regards, >>> Alexander Kogan, >>> Director of R&D >>> 5g Future >>> http://5gfuture.com >>> >>> >>> On 28.06.2023 11:52, Bogdan-Andrei Iancu wrote: >>>> Hi Alexander. >>>> >>>> The problem here is not related to the ability or inability of >>>> OpenSIPS to drop the late 200 OK - the problem is you MUST not drop >>>> it, as you will break the signaling. Again, a callee party sending >>>> a 200 OK expects an ACK and nothing else. >>>> If you drop (on OpenSIPS level) the late 200 OK, the vendor 1 will >>>> remain inconsistent - it will keep retransmitting the 200 OK as it >>>> expected the ACK for it. >>>> >>>> Of course, there is the ugly approach of "playing dead", dropping >>>> every single late 200 OK from Vendor 1, forcing it to generate a >>>> BYE (eventually) and close the call. But this is something really >>>> ugly. >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>>   https://www.opensips-solutions.com >>>>   https://www.siphub.com >>>> >>>> On 6/28/23 10:13 AM, Alexander Kogan wrote: >>>>> Hi, >>>>> >>>>> I got the point. Nevertheless, isn't it a good idea to have a way >>>>> to discard messages of branches that have already been timed out >>>>> instead of reanimating them? E.g. t_check() could return -2 in >>>>> reply_received(), or drop() action could be allowed for 200... >>>>> >>>>> Best regards, >>>>> Alexander Kogan, >>>>> Director of R&D >>>>> 5g Future >>>>> http://5gfuture.com >>>>> >>>>> >>>>> On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: >>>>>> Hi Alexander, >>>>>> >>>>>> According to RFC3261, there is noting a proxy should/must do >>>>>> about a received 200 OK rather than sending further to the caller >>>>>> (even if the 200 OK is received on an old branch). Basically, if >>>>>> for whatever reasons you end up getting 200 OK from several >>>>>> branches of the same transaction, you need to forward them all to >>>>>> caller - why? as in SIP, once a 200 OK was fired by a callee >>>>>> device, there is no signaling /mechanism available to >>>>>> "cancel"/"reject"/"discard" that it. The only way to handle >>>>>> "unwanted" 200 OK is to accept it, ack it  and then send a BYE >>>>>> for it. >>>>>> Now, as a proxy does not have the necessary "logic" to decide >>>>>> which 200 OK to keep and which to BYE, there is nothing to be >>>>>> done than "moving" this decision to the caller - so pass all the >>>>>> 200 OK to caller and let it decide which to keep or not. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Bogdan-Andrei Iancu >>>>>> >>>>>> OpenSIPS Founder and Developer >>>>>>   https://www.opensips-solutions.com >>>>>>   https://www.siphub.com >>>>>> >>>>>> On 6/27/23 5:59 PM, Alexander Kogan wrote: >>>>>>> Hello, >>>>>>> >>>>>>> I've got such a call flow: >>>>>>> >>>>>>> Client      OpenSIPS >>>>>>> |--INVITE-->| >>>>>>> |<--100-----| Vendor1 >>>>>>> |           |--INVITE-->| >>>>>>> |           |--INVITE-->| >>>>>>> |           |--INVITE-->| >>>>>>> |           |           |           Vendor2 >>>>>>> | |--INVITE------------- >| >>>>>>> | |<--100-----------------| >>>>>>> | |<--180-----------------| >>>>>>> |<--180-----|                       | >>>>>>> |           |<--200-----------------| >>>>>>> |<--200-----|                       | >>>>>>> |           |                       | >>>>>>> |           |<--200-----|           | >>>>>>> |<--200-----|        | >>>>>>> |           |           |           | >>>>>>> >>>>>>> The first branch was timed out and we switched up to the next >>>>>>> one. A bit later we received 200 OK from the first one. The >>>>>>> question is - how to avoid passing 200 to the first leg? drop() >>>>>>> doesn't work for final responses. I also can't use >>>>>>> t_cancel_branches() because it works in onreply_route only which >>>>>>> is not called in case of timeout.... >>>>>>> >>>>>> >>>> >> From bogdan at opensips.org Thu Jun 29 12:05:37 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 29 Jun 2023 15:05:37 +0300 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: <3306381c-677a-fa07-b911-1e080498cb0c@5gfuture.com> References: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> <2eca18d2-a89e-ca07-3b4f-96247deb7595@5gfuture.com> <8477f7f3-60e1-f382-76d5-d885af0e9d04@opensips.org> <0014a55b-dd98-d6a3-d61c-38dced0308e0@5gfuture.com> <3306381c-677a-fa07-b911-1e080498cb0c@5gfuture.com> Message-ID: <48a8d102-15be-06a8-808c-fd3c08ba3747@opensips.org> YEs, 200 OK is accepted on top of any previous negative reply...that's the RFC :) Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/28/23 4:38 PM, Alexander Kogan wrote: > > BTW, we have the line in log when 200 has been received for timed out > branch: > > /usr/sbin/opensips[9653]: DBG:tm:reply_received: org. status uas=180, > *uac[1]=408* local=0 is_invite=1) > > Of course, it's a fake reply generated on timeout. Does it mean that > if OpenSIPS receives a real final reply >=300 and after that it will > receive 200, it will pass 200 to the caller? > > Best regards, > Alexander Kogan, > Director of R&D > 5g Future > http://5gfuture.com > > > On 28.06.2023 15:01, Alexander Kogan wrote: >> Well, it would have worked if I didn't need loops.... >> >> Best regards, >> Alexander Kogan, >> Director of R&D >> 5g Future >> http://5gfuture.com >> >> >> On 28.06.2023 14:06, Bogdan-Andrei Iancu wrote: >>> True, multiple 200 OK replies will mess up the dialog module, as the >>> module is not able to separately keep track of the calls deriving >>> from the same original dialog... >>> You may have good chances to get it work almost correctly if using >>> the sip only dialog matching (in dialog module), as the to-tag will >>> make the difference between the two calls resulted from the original >>> dialog. >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/28/23 11:05 AM, Alexander Kogan wrote: >>>> Agreed, it's really ugly. But on practice it means that the caller >>>> has two confirmed dialogs with the same did, but opensips has only >>>> one. And when caller sends BYE for one of its dialogs it ruins the >>>> dialog on OpenSIPS.... So it seems much better to make an ugly >>>> solution... >>>> >>>> Best regards, >>>> Alexander Kogan, >>>> Director of R&D >>>> 5g Future >>>> http://5gfuture.com >>>> >>>> >>>> On 28.06.2023 11:52, Bogdan-Andrei Iancu wrote: >>>>> Hi Alexander. >>>>> >>>>> The problem here is not related to the ability or inability of >>>>> OpenSIPS to drop the late 200 OK - the problem is you MUST not >>>>> drop it, as you will break the signaling. Again, a callee party >>>>> sending a 200 OK expects an ACK and nothing else. >>>>> If you drop (on OpenSIPS level) the late 200 OK, the vendor 1 will >>>>> remain inconsistent - it will keep retransmitting the 200 OK as it >>>>> expected the ACK for it. >>>>> >>>>> Of course, there is the ugly approach of "playing dead", dropping >>>>> every single late 200 OK from Vendor 1, forcing it to generate a >>>>> BYE (eventually) and close the call. But this is something really >>>>> ugly. >>>>> >>>>> Regards, >>>>> >>>>> Bogdan-Andrei Iancu >>>>> >>>>> OpenSIPS Founder and Developer >>>>> https://www.opensips-solutions.com >>>>> https://www.siphub.com >>>>> >>>>> On 6/28/23 10:13 AM, Alexander Kogan wrote: >>>>>> Hi, >>>>>> >>>>>> I got the point. Nevertheless, isn't it a good idea to have a way >>>>>> to discard messages of branches that have already been timed out >>>>>> instead of reanimating them? E.g. t_check() could return -2 in >>>>>> reply_received(), or drop() action could be allowed for 200... >>>>>> >>>>>> Best regards, >>>>>> Alexander Kogan, >>>>>> Director of R&D >>>>>> 5g Future >>>>>> http://5gfuture.com >>>>>> >>>>>> >>>>>> On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: >>>>>>> Hi Alexander, >>>>>>> >>>>>>> According to RFC3261, there is noting a proxy should/must do >>>>>>> about a received 200 OK rather than sending further to the >>>>>>> caller (even if the 200 OK is received on an old branch). >>>>>>> Basically, if for whatever reasons you end up getting 200 OK >>>>>>> from several branches of the same transaction, you need to >>>>>>> forward them all to caller - why? as in SIP, once a 200 OK was >>>>>>> fired by a callee device, there is no signaling /mechanism >>>>>>> available to "cancel"/"reject"/"discard" that it. The only way >>>>>>> to handle "unwanted" 200 OK is to accept it, ack it  and then >>>>>>> send a BYE for it. >>>>>>> Now, as a proxy does not have the necessary "logic" to decide >>>>>>> which 200 OK to keep and which to BYE, there is nothing to be >>>>>>> done than "moving" this decision to the caller - so pass all the >>>>>>> 200 OK to caller and let it decide which to keep or not. >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Bogdan-Andrei Iancu >>>>>>> >>>>>>> OpenSIPS Founder and Developer >>>>>>> https://www.opensips-solutions.com >>>>>>> https://www.siphub.com >>>>>>> >>>>>>> On 6/27/23 5:59 PM, Alexander Kogan wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> I've got such a call flow: >>>>>>>> >>>>>>>> Client      OpenSIPS >>>>>>>> |--INVITE-->| >>>>>>>> |<--100-----| Vendor1 >>>>>>>> |           |--INVITE-->| >>>>>>>> |           |--INVITE-->| >>>>>>>> |           |--INVITE-->| >>>>>>>> |           |           |           Vendor2 >>>>>>>> | |--INVITE------------- >| >>>>>>>> | |<--100-----------------| >>>>>>>> | |<--180-----------------| >>>>>>>> |<--180-----|                       | >>>>>>>> |           |<--200-----------------| >>>>>>>> |<--200-----|                       | >>>>>>>> |           |                       | >>>>>>>> |           |<--200-----|           | >>>>>>>> |<--200-----|        | >>>>>>>> |           |           |           | >>>>>>>> >>>>>>>> The first branch was timed out and we switched up to the next >>>>>>>> one. A bit later we received 200 OK from the first one. The >>>>>>>> question is - how to avoid passing 200 to the first leg? drop() >>>>>>>> doesn't work for final responses. I also can't use >>>>>>>> t_cancel_branches() because it works in onreply_route only >>>>>>>> which is not called in case of timeout.... >>>>>>>> >>>>>>> >>>>> >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From spanda at 3clogic.com Wed Jun 28 10:37:29 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Wed, 28 Jun 2023 16:07:29 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: <7eadeaf4-d146-89c4-8028-83ab498738a9@opensips.org> References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> <76a8f64e-2aef-a52a-88bd-5235f801c191@opensips.org> <7eadeaf4-d146-89c4-8028-83ab498738a9@opensips.org> Message-ID: Yes , right . My expectation is also opensips must be ideal . How do I debug this ? what is triggering opensips to scale-up ? *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Wed, Jun 28, 2023 at 3:42 PM Bogdan-Andrei Iancu wrote: > In your configuration I see nothing that may degenerate into creating > additional procs (like exec module, auto_scaling, etc). And I assume you > have no traffic (SIP or MI) while you get this increasing number of procs > (basically opensips should be ideal), right ? > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/28/23 12:17 PM, Sasmita Panda wrote: > > centos9 : > initially when running the config > number of process : 22 > after 5/10min - number of process 169 . That increases gradually as well . > > centos8 : > initially when running the config > number of process : 22 > This is maintained throughout . It's not increasing at all . > > > socket : > socket=udp:ip:5505 > socket=udp:ip:5508 > > This is configured in both the servers . Config is the same for both . > > config file : https://pastebin.com/huJ7yc4b > > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > > > On Wed, Jun 28, 2023 at 1:16 PM Bogdan-Andrei Iancu > wrote: > >> What is the socket and processes configuration you have in the cfg? >> >> How many procs are created at the end on the working centos8 ? >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/28/23 9:52 AM, Sasmita Panda wrote: >> >> I have installed opensips 3.2 on centos8 , which is working fine without >> any error . >> >> Same code I have installed on centos9 latest version , here its giving >> the above error . Same as aws ec2 instance and debian 11 . >> >> Is this because of the operating system? >> >> >> *Thanks & Regards* >> *Sasmita Panda* >> *Senior Network Testing and Software Engineer* >> *3CLogic , ph:07827611765* >> >> >> On Wed, Jun 28, 2023 at 10:07 AM Sasmita Panda >> wrote: >> >>> Yes , I knew that . But I have mentioned its not in the starting . When >>> I am starting opensips service everything is fine and running properly . >>> >>> After sometime this error is comming when the number of process >>> increases which results more numbr of DB connection . When the limit >>> reaches that error is comming . >>> But this is happening in the run time . Not in the initial stage . >>> >>> *Thanks & Regards* >>> *Sasmita Panda* >>> *Senior Network Testing and Software Engineer* >>> *3CLogic , ph:07827611765* >>> >>> >>> On Tue, Jun 27, 2023 at 7:01 PM Bogdan-Andrei Iancu >>> wrote: >>> >>>> The logs say your opensips fail to start a due to DB issues : >>>> `ERROR:db_mysql:db_mysql_connect: driver error(1040): Too many connections` >>>> >>>> Rule number one : *READ THE LOGS* ! >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> https://www.siphub.com >>>> >>>> On 6/27/23 12:18 PM, Sasmita Panda wrote: >>>> >>>> No , I am running only 1 instance of opensips in one ec2-instance here >>>> . >>>> >>>> When I am starting Openisps . >>>> *ps -aef| grep opensips | wc -l * : this command output is *22 * >>>> >>>> /usr/local/bin/opensips-cli -x mi ps : Output of this command while >>>> starting . >>>> https://pastebin.com/H0yNeecA >>>> >>>> *After 5/10mins when I am running the same command :* >>>> *ps -aef| grep opensips | wc -l * : output is *169 *(its increasing >>>> gradually ) >>>> >>>> And at that time eventually the fifo file is also getting deleted . >>>> >>>> As this increases , after sometime there are too many open connections >>>> with Mysql getting created and hence there are some errors as well for "too >>>> many open connections " . >>>> >>>> Below is the logs I am getting . >>>> https://pastebin.com/E6WxjeiC >>>> >>>> At this point , my call is also not getting connected as the dynamic >>>> routing module is not getting initiated . >>>> >>>> I was about to upgrade my whole system to 3.2 and in the last stage I >>>> am facing this issue . Quit blocked here . From long time I am trying to >>>> debug this but not getting any hunch . >>>> >>>> Please help . >>>> >>>> >>>> >>>> >>>> >>>> *Thanks & Regards* >>>> *Sasmita Panda* >>>> *Senior Network Testing and Software Engineer* >>>> *3CLogic , ph:07827611765* >>>> >>>> >>>> On Tue, Jun 27, 2023 at 2:16 PM Bogdan-Andrei Iancu < >>>> bogdan at opensips.org> wrote: >>>> >>>>> Hi, >>>>> >>>>> Be sure you are not running multiple instance of OpenSIPS, fighting >>>>> over the fifo file. >>>>> >>>>> Regards, >>>>> >>>>> Bogdan-Andrei Iancu >>>>> >>>>> OpenSIPS Founder and Developer >>>>> https://www.opensips-solutions.com >>>>> https://www.siphub.com >>>>> >>>>> On 6/27/23 11:00 AM, Sasmita Panda wrote: >>>>> >>>>> Hi , >>>>> >>>>> Initially when I am running the process I'm getting the *opensips_fifo >>>>> *file inside /*tmp *directory . >>>>> >>>>> But after some time that file is getting deleted automatically and >>>>> hence I am not able to run opensips-cli command as well . >>>>> >>>>> What can be the reason ? Where do I start debugging ? >>>>> >>>>> *Thanks & Regards* >>>>> *Sasmita Panda* >>>>> *Senior Network Testing and Software Engineer* >>>>> *3CLogic , ph:07827611765* >>>>> >>>>> >>>>> On Tue, Jun 6, 2023 at 2:10 PM Bogdan-Andrei Iancu < >>>>> bogdan at opensips.org> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Doing `opensips-cli -x mi ps` will list all the opensips processes >>>>>> and their role within OpenSIPS - this will help you understand the overall >>>>>> set of procs. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Bogdan-Andrei Iancu >>>>>> >>>>>> OpenSIPS Founder and Developer >>>>>> https://www.opensips-solutions.com >>>>>> https://www.siphub.com >>>>>> >>>>>> On 6/1/23 2:37 PM, Sasmita Panda wrote: >>>>>> >>>>>> In 3.2 I think we are not defining children per process . We have >>>>>> udp_worker or tcp_worker . >>>>>> >>>>>> log_level=4 >>>>>> log_stderror=no >>>>>> log_facility=LOG_LOCAL5 >>>>>> >>>>>> #udp_workers=4 >>>>>> tcp_workers=2 >>>>>> >>>>>> disable_dns_blacklist=yes >>>>>> >>>>>> This is my configuration . >>>>>> >>>>>> >>>>>> *Thanks & Regards* >>>>>> *Sasmita Panda* >>>>>> *Senior Network Testing and Software Engineer* >>>>>> *3CLogic , ph:07827611765* >>>>>> >>>>>> >>>>>> On Thu, Jun 1, 2023 at 4:53 PM Richard Robson >>>>>> wrote: >>>>>> >>>>>>> How many children are defined in your script. You will get one >>>>>>> process per child >>>>>>> >>>>>>> Richard >>>>>>> >>>>>>> On Thu, 1 Jun 2023, 11:47 Sasmita Panda, wrote: >>>>>>> >>>>>>>> Hi All , >>>>>>>> >>>>>>>> >>>>>>>> I am using opensips 3.2 >>>>>>>> version: opensips 3.2.3 (x86_64/linux) >>>>>>>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, >>>>>>>> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT >>>>>>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN >>>>>>>> 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 >>>>>>>> poll method support: poll, epoll, sigio_rt, select. >>>>>>>> svn revision: 3831:3864 >>>>>>>> main.c compiled on 07:29:49 Jun 21 2022 with gcc 10 >>>>>>>> >>>>>>>> When I am initially starting the service I am getting a single >>>>>>>> process running . After some time when I am checking there are so many >>>>>>>> processes running automatically . I have pasted the output of the below >>>>>>>> file . >>>>>>>> >>>>>>>> Please update here what's the reason behind this . >>>>>>>> >>>>>>>> https://pastebin.com/gu3Js6Fe >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *Thanks & Regards* >>>>>>>> *Sasmita Panda* >>>>>>>> *Senior Network Testing and Software Engineer* >>>>>>>> *3CLogic , ph:07827611765* >>>>>>>> _______________________________________________ >>>>>>>> Users mailing list >>>>>>>> Users at lists.opensips.org >>>>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> Users at lists.opensips.org >>>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>>> >>>>>> >>>>>> >>>>> >>>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdan at opensips.org Thu Jun 29 12:10:59 2023 From: bogdan at opensips.org (Bogdan-Andrei Iancu) Date: Thu, 29 Jun 2023 15:10:59 +0300 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> <76a8f64e-2aef-a52a-88bd-5235f801c191@opensips.org> <7eadeaf4-d146-89c4-8028-83ab498738a9@opensips.org> Message-ID: <2abf6bc4-8784-b666-2277-35e0bdaf042e@opensips.org> What should be ideal here is some unix admin skills. Try to check if systemd is not trying to start multiple instances, check with htop how many group leader procs you have under opensips procs.... Have you carefully followed to logs to see how if there are multiple startup sequences from opensips ? Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com https://www.siphub.com On 6/28/23 1:37 PM, Sasmita Panda wrote: > Yes , right . > > My expectation is also opensips must be ideal . How do I debug this ? > what is triggering opensips to scale-up ? > > > > */Thanks & Regards/* > /Sasmita Panda/ > /Senior Network Testing and Software Engineer/ > /3CLogic , ph:07827611765/ > > > On Wed, Jun 28, 2023 at 3:42 PM Bogdan-Andrei Iancu > > wrote: > > In your configuration I see nothing that may degenerate into > creating additional procs (like exec module, auto_scaling, etc). > And I assume you have no traffic (SIP or MI) while you get this > increasing number of procs (basically opensips should be ideal), > right ? > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/28/23 12:17 PM, Sasmita Panda wrote: >> centos9 : >> initially when running the config >> number of process : 22 >> after 5/10min - number of process 169 . That increases gradually >> as well . >> >> centos8 : >> initially when running the config >> number of process : 22 >> This is maintained throughout . It's not increasing at all . >> >> >> socket : >> socket=udp:ip:5505 >> socket=udp:ip:5508 >> >> This is configured in both the servers . Config is the same for >> both . >> >> config file : https://pastebin.com/huJ7yc4b >> >> >> >> */Thanks & Regards/* >> /Sasmita Panda/ >> /Senior Network Testing and Software Engineer/ >> /3CLogic , ph:07827611765/ >> >> >> On Wed, Jun 28, 2023 at 1:16 PM Bogdan-Andrei Iancu >> > wrote: >> >> What is the socket and processes configuration you have in >> the cfg? >> >> How many procs are created at the end on the working centos8 ? >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/28/23 9:52 AM, Sasmita Panda wrote: >>> I have installed opensips 3.2 on centos8 , which is working >>> fine without any error . >>> >>> Same code I have installed on centos9 latest version , here >>> its giving the above error .  Same as aws ec2 instance and >>> debian 11 . >>> >>> Is this because of the operating system? >>> >>> >>> */Thanks & Regards/* >>> /Sasmita Panda/ >>> /Senior Network Testing and Software Engineer/ >>> /3CLogic , ph:07827611765/ >>> >>> >>> On Wed, Jun 28, 2023 at 10:07 AM Sasmita Panda >>> > wrote: >>> >>> Yes , I knew that . But I have mentioned its not in the >>> starting . When I am starting opensips service >>> everything is fine and running properly . >>> >>> After sometime this error is comming when the number of >>> process increases which results more numbr of DB >>> connection . When the limit reaches that error is comming . >>> But this is happening in the run time . Not in the >>> initial stage . >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From akogan at 5gfuture.com Thu Jun 29 13:21:03 2023 From: akogan at 5gfuture.com (Alexander Kogan) Date: Thu, 29 Jun 2023 17:21:03 +0400 Subject: [OpenSIPS-Users] serialize_branches() and timeouts In-Reply-To: <48a8d102-15be-06a8-808c-fd3c08ba3747@opensips.org> References: <87b5b8ff-5f8d-57ca-2ff0-fda7e56d65c4@5gfuture.com> <387b9f14-e1d5-8438-30e2-7f641fbbf6b4@opensips.org> <2eca18d2-a89e-ca07-3b4f-96247deb7595@5gfuture.com> <8477f7f3-60e1-f382-76d5-d885af0e9d04@opensips.org> <0014a55b-dd98-d6a3-d61c-38dced0308e0@5gfuture.com> <3306381c-677a-fa07-b911-1e080498cb0c@5gfuture.com> <48a8d102-15be-06a8-808c-fd3c08ba3747@opensips.org> Message-ID: Ohh... I've looked through 3261 again, and haven't found the case.... Could you please point me? The RFC says a proxy makes a separate client transaction for each outgoing branch. Each client transaction is finished with the first final response received (or generated internally according to 8.1.3.1 Transaction Layer Errors - "When a timeout error is received from the transaction layer, it MUST be treated as if a 408 (Request Timeout) status code has been received") and any other final responses for this transaction are out of state, isn't it? Best regards, Alexander Kogan, Director of R&D 5g Future http://5gfuture.com On 29.06.2023 16:05, Bogdan-Andrei Iancu wrote: > YEs, 200 OK is accepted on top of any previous negative reply...that's > the RFC :) > > Regards, > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > On 6/28/23 4:38 PM, Alexander Kogan wrote: >> >> BTW, we have the line in log when 200 has been received for timed out >> branch: >> >> /usr/sbin/opensips[9653]: DBG:tm:reply_received: org. status uas=180, >> *uac[1]=408* local=0 is_invite=1) >> >> Of course, it's a fake reply generated on timeout. Does it mean that >> if OpenSIPS receives a real final reply >=300 and after that it will >> receive 200, it will pass 200 to the caller? >> >> Best regards, >> Alexander Kogan, >> Director of R&D >> 5g Future >> http://5gfuture.com >> >> >> On 28.06.2023 15:01, Alexander Kogan wrote: >>> Well, it would have worked if I didn't need loops.... >>> >>> Best regards, >>> Alexander Kogan, >>> Director of R&D >>> 5g Future >>> http://5gfuture.com >>> >>> >>> On 28.06.2023 14:06, Bogdan-Andrei Iancu wrote: >>>> True, multiple 200 OK replies will mess up the dialog module, as >>>> the module is not able to separately keep track of the calls >>>> deriving from the same original dialog... >>>> You may have good chances to get it work almost correctly if using >>>> the sip only dialog matching (in dialog module), as the to-tag will >>>> make the difference between the two calls resulted from the >>>> original dialog. >>>> >>>> Regards, >>>> >>>> Bogdan-Andrei Iancu >>>> >>>> OpenSIPS Founder and Developer >>>> https://www.opensips-solutions.com >>>> https://www.siphub.com >>>> >>>> On 6/28/23 11:05 AM, Alexander Kogan wrote: >>>>> Agreed, it's really ugly. But on practice it means that the caller >>>>> has two confirmed dialogs with the same did, but opensips has only >>>>> one. And when caller sends BYE for one of its dialogs it ruins the >>>>> dialog on OpenSIPS.... So it seems much better to make an ugly >>>>> solution... >>>>> >>>>> Best regards, >>>>> Alexander Kogan, >>>>> Director of R&D >>>>> 5g Future >>>>> http://5gfuture.com >>>>> >>>>> >>>>> On 28.06.2023 11:52, Bogdan-Andrei Iancu wrote: >>>>>> Hi Alexander. >>>>>> >>>>>> The problem here is not related to the ability or inability of >>>>>> OpenSIPS to drop the late 200 OK - the problem is you MUST not >>>>>> drop it, as you will break the signaling. Again, a callee party >>>>>> sending a 200 OK expects an ACK and nothing else. >>>>>> If you drop (on OpenSIPS level) the late 200 OK, the vendor 1 >>>>>> will remain inconsistent - it will keep retransmitting the 200 OK >>>>>> as it expected the ACK for it. >>>>>> >>>>>> Of course, there is the ugly approach of "playing dead", dropping >>>>>> every single late 200 OK from Vendor 1, forcing it to generate a >>>>>> BYE (eventually) and close the call. But this is something really >>>>>> ugly. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Bogdan-Andrei Iancu >>>>>> >>>>>> OpenSIPS Founder and Developer >>>>>> https://www.opensips-solutions.com >>>>>> https://www.siphub.com >>>>>> >>>>>> On 6/28/23 10:13 AM, Alexander Kogan wrote: >>>>>>> Hi, >>>>>>> >>>>>>> I got the point. Nevertheless, isn't it a good idea to have a >>>>>>> way to discard messages of branches that have already been timed >>>>>>> out instead of reanimating them? E.g. t_check() could return -2 >>>>>>> in reply_received(), or drop() action could be allowed for 200... >>>>>>> >>>>>>> Best regards, >>>>>>> Alexander Kogan, >>>>>>> Director of R&D >>>>>>> 5g Future >>>>>>> http://5gfuture.com >>>>>>> >>>>>>> >>>>>>> On 28.06.2023 10:37, Bogdan-Andrei Iancu wrote: >>>>>>>> Hi Alexander, >>>>>>>> >>>>>>>> According to RFC3261, there is noting a proxy should/must do >>>>>>>> about a received 200 OK rather than sending further to the >>>>>>>> caller (even if the 200 OK is received on an old branch). >>>>>>>> Basically, if for whatever reasons you end up getting 200 OK >>>>>>>> from several branches of the same transaction, you need to >>>>>>>> forward them all to caller - why? as in SIP, once a 200 OK was >>>>>>>> fired by a callee device, there is no signaling /mechanism >>>>>>>> available to "cancel"/"reject"/"discard" that it. The only way >>>>>>>> to handle "unwanted" 200 OK is to accept it, ack it and then >>>>>>>> send a BYE for it. >>>>>>>> Now, as a proxy does not have the necessary "logic" to decide >>>>>>>> which 200 OK to keep and which to BYE, there is nothing to be >>>>>>>> done than "moving" this decision to the caller - so pass all >>>>>>>> the 200 OK to caller and let it decide which to keep or not. >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> Bogdan-Andrei Iancu >>>>>>>> >>>>>>>> OpenSIPS Founder and Developer >>>>>>>> https://www.opensips-solutions.com >>>>>>>> https://www.siphub.com >>>>>>>> >>>>>>>> On 6/27/23 5:59 PM, Alexander Kogan wrote: >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> I've got such a call flow: >>>>>>>>> >>>>>>>>> Client      OpenSIPS >>>>>>>>> |--INVITE-->| >>>>>>>>> |<--100-----| Vendor1 >>>>>>>>> |           |--INVITE-->| >>>>>>>>> |           |--INVITE-->| >>>>>>>>> |           |--INVITE-->| >>>>>>>>> |           |           |           Vendor2 >>>>>>>>> | |--INVITE------------- >| >>>>>>>>> | |<--100-----------------| >>>>>>>>> | |<--180-----------------| >>>>>>>>> |<--180-----|                       | >>>>>>>>> |           |<--200-----------------| >>>>>>>>> |<--200-----|                       | >>>>>>>>> |           |                       | >>>>>>>>> |           |<--200-----|           | >>>>>>>>> |<--200-----|        | >>>>>>>>> |           |           |           | >>>>>>>>> >>>>>>>>> The first branch was timed out and we switched up to the next >>>>>>>>> one. A bit later we received 200 OK from the first one. The >>>>>>>>> question is - how to avoid passing 200 to the first leg? >>>>>>>>> drop() doesn't work for final responses. I also can't use >>>>>>>>> t_cancel_branches() because it works in onreply_route only >>>>>>>>> which is not called in case of timeout.... >>>>>>>>> >>>>>>>> >>>>>> >>>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From spanda at 3clogic.com Fri Jun 30 09:25:20 2023 From: spanda at 3clogic.com (Sasmita Panda) Date: Fri, 30 Jun 2023 14:55:20 +0530 Subject: [OpenSIPS-Users] Opensips is starting so many process un-necessarily . In-Reply-To: <2abf6bc4-8784-b666-2277-35e0bdaf042e@opensips.org> References: <49f0ef59-23c6-e8c5-b729-8d5e209a875f@opensips.org> <40be625d-235d-e6a0-bac2-3dad02fd5318@opensips.org> <76a8f64e-2aef-a52a-88bd-5235f801c191@opensips.org> <7eadeaf4-d146-89c4-8028-83ab498738a9@opensips.org> <2abf6bc4-8784-b666-2277-35e0bdaf042e@opensips.org> Message-ID: Thank you so much for your quick reply . Today morning I was not able to access the machine on which opensips was running . So I just stopped that and changed the instance type from t2.small to t2.medium and started the machine . On that I started same configuration of opensips . From last 4hr its running without any error . Also whenever I am checking the process its giving 22 . I m not sure what was the issue and how it get resolved . Now I am curious , if the same issue will encounter again what I need to do . *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Thu, Jun 29, 2023 at 5:41 PM Bogdan-Andrei Iancu wrote: > What should be ideal here is some unix admin skills. Try to check if > systemd is not trying to start multiple instances, check with htop how > many group leader procs you have under opensips procs.... > > Have you carefully followed to logs to see how if there are multiple > startup sequences from opensips ? > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > https://www.siphub.com > > On 6/28/23 1:37 PM, Sasmita Panda wrote: > > Yes , right . > > My expectation is also opensips must be ideal . How do I debug this ? what > is triggering opensips to scale-up ? > > > > *Thanks & Regards* > *Sasmita Panda* > *Senior Network Testing and Software Engineer* > *3CLogic , ph:07827611765* > > > On Wed, Jun 28, 2023 at 3:42 PM Bogdan-Andrei Iancu > wrote: > >> In your configuration I see nothing that may degenerate into creating >> additional procs (like exec module, auto_scaling, etc). And I assume you >> have no traffic (SIP or MI) while you get this increasing number of procs >> (basically opensips should be ideal), right ? >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> https://www.siphub.com >> >> On 6/28/23 12:17 PM, Sasmita Panda wrote: >> >> centos9 : >> initially when running the config >> number of process : 22 >> after 5/10min - number of process 169 . That increases gradually as well >> . >> >> centos8 : >> initially when running the config >> number of process : 22 >> This is maintained throughout . It's not increasing at all . >> >> >> socket : >> socket=udp:ip:5505 >> socket=udp:ip:5508 >> >> This is configured in both the servers . Config is the same for both . >> >> config file : https://pastebin.com/huJ7yc4b >> >> >> *Thanks & Regards* >> *Sasmita Panda* >> *Senior Network Testing and Software Engineer* >> *3CLogic , ph:07827611765* >> >> >> On Wed, Jun 28, 2023 at 1:16 PM Bogdan-Andrei Iancu >> wrote: >> >>> What is the socket and processes configuration you have in the cfg? >>> >>> How many procs are created at the end on the working centos8 ? >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> https://www.siphub.com >>> >>> On 6/28/23 9:52 AM, Sasmita Panda wrote: >>> >>> I have installed opensips 3.2 on centos8 , which is working fine without >>> any error . >>> >>> Same code I have installed on centos9 latest version , here its giving >>> the above error . Same as aws ec2 instance and debian 11 . >>> >>> Is this because of the operating system? >>> >>> >>> *Thanks & Regards* >>> *Sasmita Panda* >>> *Senior Network Testing and Software Engineer* >>> *3CLogic , ph:07827611765* >>> >>> >>> On Wed, Jun 28, 2023 at 10:07 AM Sasmita Panda >>> wrote: >>> >>>> Yes , I knew that . But I have mentioned its not in the starting . When >>>> I am starting opensips service everything is fine and running properly . >>>> >>>> After sometime this error is comming when the number of process >>>> increases which results more numbr of DB connection . When the limit >>>> reaches that error is comming . >>>> But this is happening in the run time . Not in the initial stage . >>>> >>>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: