Re: [OpenSIPS-Users] Packet analysis using wireshark
This is known as "working as intended". > On Apr 6, 2024, at 10:39 AM, Prathibha B wrote: > > I am unable to see the Voip calls in wireshark. For signaling opensips is > used. The calls are encrypted and it is webrtc communication. > > Sent from Outlook for Android > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Continously ringing
Is there a predicate to this sentence? > On Apr 6, 2024, at 10:35 AM, Prathibha B wrote: > > User A makes a call to user B. User B didn't accept the call. User B stopped > ringing after 1 minute. But User A continues to be in the ringing state until > it is manually canceled. > > Sent from Outlook for Android > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] socket defination in opensips 3.2
Hello, Port spaces for UDP and TCP are independent. -- Alex > On Apr 4, 2024, at 6:45 AM, Sasmita Panda wrote: > > Hi All , > > Is the below socket definition right ? In this case opensips will listen on > both UDp and TCP protocol on the same 5507 port ? > > socket=tcp:10.5.1.1:5507 > socket=udp:10.5.1.1:5507 > > If this is not right then how can opensips listen for both UDP and TCP > protocol in a single port ? > > Thanks & Regards > Sasmita Panda > Senior Network Testing and Software Engineer > 3CLogic , ph:07827611765 > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Reg media server
I wouldn't say that. > On Mar 24, 2024, at 5:43 AM, Prathibha B wrote: > > Is it madatorily required to use a media server such as rtpengine. I'm using > coturn server as the TURN server for media relay. I'm getting the media > through coturn server. Still rtpengine is required? > > > -- > Regards, > B.Prathibha > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Strange ACK between OpenSIPS and Kamailio
Hi, 1) Neither Kamailio nor OpenSIPS send 200 OKs; 2) Neither Kamailio nor OPenSIPS send ACKs. They merely relay these. 3) Contact URI alterations may be occurring along the chain, and are likely causing your issue. -- Alex > On 9 Nov 2023, at 09:12, Social Boh wrote: > > Hello list, > I have a problem in communication between an OpenSIPs and a Kamailio. The > call comes from OpenSIPs to Kamailio, it is answered but the ACK that > OpenSIPs sends to Kamailio I think is not correct: > 200OK from Kamailio to OpenSIPs: Contact: > ACK from OpenSIPs to Kamailio: Contact: > > I think the ACK Contact Header from OpenSIPs to Kamailio should have the same > 200 OK content > 194.195.XXX.XXX is a Asterisk PBX > 177.242.XXX.XXX is OpenSIPs > Result Kamailio don't send ACK to Asterisk PBX and the call ends about 30 > seconds. > Any hint, please? > -- > --- > I'm SoCIaL, MayBe > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] CDR not generated on 302 redirect
> On Mar 15, 2022, at 10:13 AM, Saint Michael wrote: > > Every call that goes through Opensips should generate a record. Is this just your opinion, or…? -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Delayed Bye?
This is precisely due to the proportion of short-duration calls. But I agree that it is a very stupid way to approach the problem, particularly when you consider where most of the hangups in short duration calls actually come from. Some of them do you come from the originator, in the case of AMD. But many come from the PSTN callee - “oh, great, it’s another one of these OpenSIPS dialer people calling about an extended car warranty. *click*” That would cause the termination switch to have already processed the BYE, regardless of whether you delay your response to it. — Sent from mobile, with due apologies for brevity and errors. > On Jun 28, 2021, at 9:23 AM, Jeff Pyle wrote: > > > Eek. This sounds like a recipe for future problems with this carrier. If > you really want to try, you could do a sleep() or usleep() on BYE requests in > the section of your script that processes sequential requeststhe > has_totag() and loose_route() part (assuming no topology_hiding). That's > going to occupy the process, though, so you might want to look at doing it > async-style if scale is a concern. If you want to do it only on BYE requests > to the carrier rather than on BYE requests in both directions, then you'll > have to detect the direction, which is possible but gets more involved. > > I know I'm going to regret asking this, but why does your carrier want you to > delay your BYE messages? > > > - Jeff > > >> On Sun, Jun 27, 2021 at 5:07 PM Alexander Perkins >> wrote: >> Hi All. Our carrier has asked us if we can do a 'delayed bye'. I have no >> idea what this means. The way it was explained to me is - the b-let is >> held for x numbers of seconds after the a leg hangs up. >> >> Does that make sense? If so, can someone point me in the right direction? >> >> Thank you, >> Alex >> ___ >> Users mailing list >> Users@lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] rtpengine aborting loop when reinvite is sent
I think one angle on the problem is to identify why RTPEngine is being invoked twice for the same SDP (most likely the same SIP message). That's best done by looking at the content of the reinvite itself. Focus especially on the Request URI and the Route header. I am not sure if the RTPEngine control module in OpenSIPS supports the loop-protect option, or whether specific module support for any command is required in order to use it. -- Alex On 7/17/20 5:06 PM, Mario San Vicente wrote: Thanks for your explanation Alex, Actually i compiled the latest..git clone https://github.com/sipwise/rtpengine.git But still i dont have a clue on how to solve it, any advise? Thank you Mario On Fri, Jul 17, 2020 at 2:34 PM Alex Balashov <mailto:abalas...@evaristesys.com>> wrote: This happens when an SDP body that has already been passed to RTPEngine, and already adulterated by RTPEngine, is passed to it yet again. Newer versions of RTPEngine have a loop protection feature to deal with it. It involves injecting an unregistered a=rtpengine attribute into the SDP, to say “I was already here”. Most common cause on in-dialog requests (e.g. reinvites) is that next hop is set to proxy itself due to RFC 2543 endpoint behaviour. So, the proxy forwards the reinvite to itself and, unsurprisingly, invokes RTPEngine again. Many times this can be fixed on the endpoint. — Sent from mobile, with due apologies for brevity and errors. On Jul 17, 2020, at 3:19 PM, Mario San Vicente mailto:mrsanvice...@gmail.com>> wrote: Hello Everyone, I have a scenario, where opensips is working with rtpengine . Call connects fine with audio. I have enabled reinvite pinging to keep the call alive ; when the reinvite is sent to both legs of the calls i get error messages and NO AUDIO. The reinvite has full SPD body. some config related: modparam("rtpengine", "rtpengine_sock", "udp:127.0.0.1:2123 <http://127.0.0.1:2123>") modparam("dialog", "reinvite_ping_interval", 60) record_route(); create_dialog("rR"); intermitent LOGS, until server is reboot: rtpengine[21823]: ERR: Too many packets in UDP receive queue (more than 50), aborting loop. Dropped packets possible rtpengine[21823]: WARNING: More than 30 duplicate packets detected, dropping packet to avoid potential loop Any idea what might be wrong? thanks you in advance! -- Mario San Vicente Cheers! ___ Users mailing list Users@lists.opensips.org <mailto:Users@lists.opensips.org> http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org <mailto:Users@lists.opensips.org> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Mario San Vicente Cheers! ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] rtpengine aborting loop when reinvite is sent
This happens when an SDP body that has already been passed to RTPEngine, and already adulterated by RTPEngine, is passed to it yet again. Newer versions of RTPEngine have a loop protection feature to deal with it. It involves injecting an unregistered a=rtpengine attribute into the SDP, to say “I was already here”. Most common cause on in-dialog requests (e.g. reinvites) is that next hop is set to proxy itself due to RFC 2543 endpoint behaviour. So, the proxy forwards the reinvite to itself and, unsurprisingly, invokes RTPEngine again. Many times this can be fixed on the endpoint. — Sent from mobile, with due apologies for brevity and errors. > On Jul 17, 2020, at 3:19 PM, Mario San Vicente wrote: > > > Hello Everyone, > > I have a scenario, where opensips is working with rtpengine . Call connects > fine with audio. > > I have enabled reinvite pinging to keep the call alive ; when the reinvite is > sent to both legs of the calls i get error messages and NO AUDIO. The > reinvite has full SPD body. > > some config related: > > modparam("rtpengine", "rtpengine_sock", "udp:127.0.0.1:2123") > modparam("dialog", "reinvite_ping_interval", 60) > record_route(); > create_dialog("rR"); > > intermitent LOGS, until server is reboot: > > rtpengine[21823]: ERR: Too many packets in UDP receive queue (more than 50), > aborting loop. Dropped packets possible > rtpengine[21823]: WARNING: More than 30 duplicate packets detected, dropping > packet to avoid potential loop > > Any idea what might be wrong? > > thanks you in advance! > > -- > Mario San Vicente > Cheers! > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Fine tuning high CPS and msyql queries
nd when as little data is shared as possible. If you add a lot of processes, then there's a lot of fighting among them for internal locks and for CPU time, even if the execution cycle per se is fairly efficient. If you have 16 cores and 128 child processes, those processes are going to be fighting for those cores if they execute efficiently, while suffering from some amount of internal concurrency gridlock if they are not executing efficiently. Thus, 128 is for almost all cases very far beyond the sweet spot. By analogy, think of a large multi-lane highway where almost all cars travel at more or less a constant speed, and, vitally, almost always stay in their lane, only very seldom making a lane change. As anyone who has ever been stuck in traffic knows, small speed changes by individual actors or small groups of cars can set off huge compression waves that have impact for miles back, and lane changes also have accordion effects. It's not a perfect analogy by any means, but it kind of conveys some sense of the general problem of contention. You really want to keep the "lanes" clear and eliminate all possible sources of friction, variance, and overlap. * For exclusion purposes; of course, there's no such thing as truly simultaneous execution. The Description for Asynchronous Statements is extremely tempting and was what started me down that path; it might be missing a qualification that Async can be an improvement for slow blocking operations, but the additional overhead may be a disadvantage for very fast blocking operations. There is indeed a certain amount of overhead in pushing data around multiple threads, the locking of shared data structures involved in doing so, etc. For slow, blocking operations, there's nevertheless an advantage, but if the operations aren't especially blocking, in many cases all that "async" stuff is just extra overhead. Asynchronous tricks which deputise notification of the availability of further work or I/O to the kernel can be pretty efficient, just because life in kernel space is pretty efficient. But async execution in user-space requires user-space contrivances that suffer from all the problems of user-space in turn, so the economics can be really different. Mileage of course greatly varies with the implementation details. -- Alex -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Fine tuning high CPS and msyql queries
On 6/12/20 9:11 PM, Calvin Ellison wrote: You suggested to "Monitor your receive queue scrupulously at a very high timing resolution". How do I do this? If using pre-systemd systems, e.g. EL6: # netstat --inet -n -l | grep 5060 If it's systemd and beyond -- I'm sure Ubuntu Server 18 is, though I have no experience with it: # ss -4nl | grep 5060 Example: --- [root@allegro-1 ~]# ss -4nl | grep 5060 udpUNCONN 0 0 10.150.20.5:5060 *:* udpUNCONN 0 0 10.150.20.2:5060 *:* udpUNCONN 0 0 209.51.167.66:5060 *:* tcpLISTEN 0 12810.150.20.2:5060 *:* --- The third column there (all-0s) is the RecvQ, as can be gleaned from the header this command outputs: Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port --- For `netstat`, it would be the second column. To monitor it at a low interval, for example 200 ms (5 times per sec), you could do something like: --- #!/bin/bash while : ; do echo -n "$(date +"%T.%3N"): " ss -4nl | grep 5060 | head -1 | awk '{print $3}' sleep 0.2 done --- That should give you some idea of where the value sits in general. You propose there is a pathological issue and the increased buffer size is masking it. How do I determine what that issue is? Without knowing what your exact routing workflow is, I can't say. However, 99.9% of the time, it occurs in blocking queries to databases or other data sources. I've asked repeatedly about children, shared memory, process memory, timer_partitions, etc. but the only answers have been "try more". I've been trying more and less of these things two weeks and changing the buffers was the only thing that appeared to have any immediate impact. How do I know when enough is enough versus too much? I wrote this article several years ago for Kamailio, but the same basic considerations apply to OpenSIPS: http://www.evaristesys.com/blog/tuning-kamailio-for-high-throughput-and-performance/ "Try more" is definitely not the answer except in cases where the workload is overwhelmingly network I/O-bound and/or database-bound. Otherwise, the most natural course of action would be to spawn a functionally infinite number of children. However, children create context switches, contend with each other for CPU time (less a concern if most of the workload is waiting on blocking external I/O) and fight for various global shared memory structures and locks (still a concern regardless). So, there is a point of diminishing returns for any given workload. All other things being equal, as per the article, the reasonable number of child processes is equal to the number of available CPU threads (in /proc/cpuinfo). This number can be increased if the workload is very I/O-bound, but only to a point. It's hard to say exactly what that point is, and it does have to be empirically determined, but I would not run more than 2 * (CPU threads). Note, there have been no memory-related log messages. The 16-thread servers have 48GB RAM and the 8-thread servers have 16GB. I'm happy to give all that to OpenSIPS once I know the right way to carve it up. I see no rationality in giving it all to OpenSIPS. It's worth bearing in mind that there are two kinds of memory allocations: - Shared memory, used by the system for global/system-wide data constructs, such as transaction memory, dialog state, etc.; - Package memory, memory that is private to each process and used for handling the immediate message. That means every child process pre-allocates the package memory requested, so this value should of course be much, much smaller than your shared memory pool size. But still, when you consider all the data that OpenSIPS needs to keep in the course of call processing, a lot of it is ephemeral and transaction-associated. Once the call is set up, the INVITE transaction is disposed. Other call state may add up to a few kilobytes per call at most (notwithstanding page sizes and blocks in the underlying allocator), but nothing on the order of gigabytes upon gigabytes. Assuming 4 KB per call and 200,000 concurrent calls, that's ~800 MB, and that is a very generous assumption indeed. -- Alex -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Fine tuning high CPS and msyql queries
On 6/12/20 8:03 PM, Calvin Ellison wrote: That's been the point of this discussion. Unfortunately, there answers so far have added to up "keep changing settings until you find what works best" and "buffers are a Ponzi scheme" despite and immediate 3x performance increase. Perhaps if one adopts a rather esoteric understanding of "performance increase" ... in principle, queueing more packets indicates the opposite. In that light, one could look at a lower receive queue depth as an optimisation, actually. One should see the forest for the trees, instead of cultivating a myopic preoccupation with short-term, stop-gap solutions. Two things are logically possible: (1) The receive queue backlog keeps stacking up until the size of 16.7m is exhausted as well; this is clearly not happening, or it would not be triumphantly claimed as a solution; (2) The higher buffer provides the elasticity needed to cope with stochastic I/O wait conditions which, for a given base CPS load, occur within a certain range of latencies and at a certain frequency distribution. Because the blocking conditions are not always uniformly present--they're stochastic, after all--in those low-tide moments, the receive queue drains. The larger buffer solves #2, but not by way of providing for a "performance increase". Nothing is performing better. It's a lever--a quite imperfect one--to cope with the fact that something is performing _quite poorly_. However, fortunately for you, it happens on an intermittent basis, otherwise you'd have quickly encountered scenario #1. #2 is a better and more manageable problem than #1, in strictly relative terms, but both are pathological and need to be addressed. To say that this amounts to a "tuning" or "optimisation" that yields a "performance increase" is profoundly misleading. -- Alex -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Fine tuning high CPS and msyql queries
The value is perfectly reasonable for an application that is properly coping with its request load. On 6/12/20 7:49 PM, David Villasmil wrote: Keep in mundo the don’t make Ubuntu for SIP applications, which have their own idiosyncrasies. They make it general purpose. So finding a value that doesn’t work perfectly with what you need for this very specific application, is not a big deal. On Sat, 13 Jun 2020 at 00:38, Calvin Ellison <mailto:calvin.elli...@voxox.com>> wrote: I doubt the system will be using all of that buffer. I also don't know if the issue was in the receive buffer or send buffer since I changed both at once. Many resources are available online from people who have already done much more scientific testing that indicate the default values should be increased for certain applications, which is the reason I changed it to begin with. There's no one-size-fits all for server configurations, and what works for this UDP application with a small number of clients might not work well for a different application with many TCS connections. "absolutely terrible" may be too strong of a way to put it, but that the before and after don't lie. On Fri, Jun 12, 2020 at 4:02 PM Alex Balashov mailto:abalas...@evaristesys.com>> wrote: But increasing the depth of the queue by 78x (if I'm not mistaken, 212992 is the default--at least, it is on all my CentOS 7.x and 8.x ___ Users mailing list Users@lists.opensips.org <mailto:Users@lists.opensips.org> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Regards, David Villasmil email: david.villasmil.w...@gmail.com <mailto:david.villasmil.w...@gmail.com> phone: +34669448337 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Fine tuning high CPS and msyql queries
On 6/12/20 7:20 PM, Calvin Ellison wrote: I think the important point here is that the receive buffers are used to hold received data until it is read by the application. In fact, too small of a receive buffer would cause packets to be discarded outright, regardless of how fast the application can respond. Not knowing how large of a buffer is needed was the problem, not the raw processing power. It doesn't matter how fast I can eat if the server only has very small plates to bring the food every trip from the kitchen. In absolute terms, this is true. But if your kitchen is putting out so much food that not even ~200,000 plates "in flight" will do, you've got a bigger problem to address and adding more plates is just papering it over. Monitor your receive queue scrupulously at a very high timing resolution. If you found default values for rmem_max to be "absolutely terrible", that means the backlog was increasing monotonically until you ran out of space. If you increase the queue depth, you will be able to prolong this effect for a while. The kernel's packet queue is a backstop--an emergency release valve, not a main thoroughfare. It's there to help you deal with ephemeral congestion caused by things like periodic big-lock background process contention, scheduler hiccups, disk controller patrol reads, etc. But the base load should result in a long-run queue backlog of zero. Applications which properly cope with their workload don't cause non-trivial packet or connection queueing on the OS side. -- Alex -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Fine tuning high CPS and msyql queries
On 6/12/20 7:08 PM, Calvin Ellison wrote: I don't disagree that there is a physical limit to what any hardware can achieve. However, there was a dramatic difference between the default setting and the increased setting. I do: the default setting leaves packets beyond the depth of the queue dropped, which, in the case of SIP requests and some responses, causes them to be retransmitted, which creates a positive feedback loop. Letting them stack up allows more of them to be attended to eventually, reducing that dynamic. But telling the OS network stack to hold more packets because you can't process them fast enough isn't a solution to the problem of not processing them fast enough. You're infinitely better off just processing them faster. -- Alex -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Fine tuning high CPS and msyql queries
Perhaps a simpler way look at it: buffers. It's in the name - they buffer things. If your "work queue" buffer (which is what the packet RecvQ fundamentally is) is chronically full, to the degree that it needs increased significantly, it means things aren't consistently leaving out at the other end at the same velocity that they're coming in. In small amounts, this regulating capacity is acceptable and necessary--that's why buffers exist. But increasing the depth of the queue by 78x (if I'm not mistaken, 212992 is the default--at least, it is on all my CentOS 7.x and 8.x systems, which I guess also have "absolutely terrible sysctl defaults") is faker than a Ponzi scheme. In some other contexts, this would be called morally bankrupt and intellectually fraudulent. I guess here we call it "mad dialer CPS" or whatever. -- Alex On 6/12/20 6:50 PM, Alex Balashov wrote: There's no free lunch, but it seems like you and others want one. :-) Increasing these values just increases the depth of the kernel's packet queue for the sync processes to consume as able. It doesn't mean they're able, and accordingly, request response time will go up. A healthy system that is able to keep up with the load you're throwing at it should show a receive queue at +/- 0 most of the time, maybe with some ephemeral spikes but generally trending around 0. If packets are stacking up in the RecvQ, it means the SIP worker processes aren't available enough to consume them all in a timely fashion. Leaning on async won't help here if the workload is largely CPU-bound. If it's largely bound over waiting on network I/O from external services, it merely deputises the problem of notifying you when there's a response from those services to the kernel. But - vitally - it won't get your requests processed faster, and setup latency is a very important consideration in real-time communications, especially from the perspective of interoperability with the synchronous/circuit-switched PSTN. In short, async isn't magic, and neither is increasing the receive queue. It's simple thermodynamics; there's only so much CPU available, and depending on the nature of the workload, throughput becomes more a linear function of available CPU hardware threads, or less, but slower, if it's largely I/O-bound. The metaphor of a balloon is appropriate. You're pushing the problem around by squeezing one part of the balloon, causing another to enlarge. Various parts of the balloon can be squeezed - async vs. sync, various queues and buffers, etc. But the internal volume of air held by the balloon is more or less the same. A little slack can be added into the system through your rmem_max technique, as long as you're willing to tolerate increased processing latency--and it will generate increased latency; if it didn't, you wouldn't need to increase it--but ultimately, you're just pushing the air around the balloon. A fixed amount of CPU and memory is available to accommodate the large number of processes that sleep on an external I/O-bound workload, and there are diminishing returns from both internal OpenSIPS contention and context switching. I'm not saying there aren't some local minima and maxima, but they aren't as magnitudinal as folks think. It's not that Ubuntu Server is mistuned, it's that you're abusing it. :-) You can't put the milk back in the cow, although it's quite a spectacle ... -- Alex On 6/12/20 6:02 PM, Calvin Ellison wrote: I noticed a way-too-small receive buffer value in the OpenSIPS startup messages and it turns out that a fresh Ubuntu 18 Server install has absolutely terrible sysctl defaults for high-performance networking. I got my 8-core lab from less than 2,000 CPS up to 14,000 CPS using a spread of all dips in non-async mode just by setting the following to match "maxbuffer=16777216": net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 Does OpenSIPS have guidelines for sysclt and other OS parameters? Async requires the TM module which adds additional overhead and memory allocation. According to with the docs: "By requiring less processes to complete the same amount of work in the same amount of time, process context switching is minimized and overall CPU usage is improved. Less processes will also eat up less system memory." So which is it? When should async be used, and when should async not be used? One can only invest so many hours in load testing combinations of sync/async, the number of children, timer_partitions, etc. Some fuzzy math based on CPU core count, SpecInt Rate, BogoMIPS, etc. would be a great starting point. Regards, *Calvin Ellison* Senior Voice Operations Engineer calvin.elli...@voxox.com <mailto:calvin.elli...@voxox.com> ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- A
Re: [OpenSIPS-Users] Fine tuning high CPS and msyql queries
There's no free lunch, but it seems like you and others want one. :-) Increasing these values just increases the depth of the kernel's packet queue for the sync processes to consume as able. It doesn't mean they're able, and accordingly, request response time will go up. A healthy system that is able to keep up with the load you're throwing at it should show a receive queue at +/- 0 most of the time, maybe with some ephemeral spikes but generally trending around 0. If packets are stacking up in the RecvQ, it means the SIP worker processes aren't available enough to consume them all in a timely fashion. Leaning on async won't help here if the workload is largely CPU-bound. If it's largely bound over waiting on network I/O from external services, it merely deputises the problem of notifying you when there's a response from those services to the kernel. But - vitally - it won't get your requests processed faster, and setup latency is a very important consideration in real-time communications, especially from the perspective of interoperability with the synchronous/circuit-switched PSTN. In short, async isn't magic, and neither is increasing the receive queue. It's simple thermodynamics; there's only so much CPU available, and depending on the nature of the workload, throughput becomes more a linear function of available CPU hardware threads, or less, but slower, if it's largely I/O-bound. The metaphor of a balloon is appropriate. You're pushing the problem around by squeezing one part of the balloon, causing another to enlarge. Various parts of the balloon can be squeezed - async vs. sync, various queues and buffers, etc. But the internal volume of air held by the balloon is more or less the same. A little slack can be added into the system through your rmem_max technique, as long as you're willing to tolerate increased processing latency--and it will generate increased latency; if it didn't, you wouldn't need to increase it--but ultimately, you're just pushing the air around the balloon. A fixed amount of CPU and memory is available to accommodate the large number of processes that sleep on an external I/O-bound workload, and there are diminishing returns from both internal OpenSIPS contention and context switching. I'm not saying there aren't some local minima and maxima, but they aren't as magnitudinal as folks think. It's not that Ubuntu Server is mistuned, it's that you're abusing it. :-) You can't put the milk back in the cow, although it's quite a spectacle ... -- Alex On 6/12/20 6:02 PM, Calvin Ellison wrote: I noticed a way-too-small receive buffer value in the OpenSIPS startup messages and it turns out that a fresh Ubuntu 18 Server install has absolutely terrible sysctl defaults for high-performance networking. I got my 8-core lab from less than 2,000 CPS up to 14,000 CPS using a spread of all dips in non-async mode just by setting the following to match "maxbuffer=16777216": net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 Does OpenSIPS have guidelines for sysclt and other OS parameters? Async requires the TM module which adds additional overhead and memory allocation. According to with the docs: "By requiring less processes to complete the same amount of work in the same amount of time, process context switching is minimized and overall CPU usage is improved. Less processes will also eat up less system memory." So which is it? When should async be used, and when should async not be used? One can only invest so many hours in load testing combinations of sync/async, the number of children, timer_partitions, etc. Some fuzzy math based on CPU core count, SpecInt Rate, BogoMIPS, etc. would be a great starting point. Regards, *Calvin Ellison* Senior Voice Operations Engineer calvin.elli...@voxox.com <mailto:calvin.elli...@voxox.com> ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] install RTPEngine on Centos 8
You may consider building from source. It's actually quite easy and avoids this kind of pain. On 6/11/20 4:35 PM, Dragomir Haralambiev wrote: Hello, Thanks for your reply. I try to instal RTPEngine but receive follow errors: # dnf install ngcp-rtpengine Last metadata expiration check: 0:28:59 ago on Thu 11 Jun 2020 10:33:39 PM EEST. Error: Problem: conflicting requests - nothing provides libavcodec.so.58()(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides libavcodec.so.58(LIBAVCODEC_58)(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides libavfilter.so.7()(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides libavformat.so.58()(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides libavformat.so.58(LIBAVFORMAT_58)(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides libavutil.so.56()(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides libavutil.so.56(LIBAVUTIL_56)(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides libswresample.so.3()(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides libswresample.so.3(LIBSWRESAMPLE_3)(64bit) needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 - nothing provides ffmpeg-libs needed by ngcp-rtpengine-8.4.1.1-1.el8.x86_64 What I do to install this package? На чт, 4.06.2020 г. в 15:35 Denys Pozniak <mailto:denys.pozn...@gmail.com>> написа: Hello! Try to use my build (not tested, as is): https://copr.fedorainfracloud.org/coprs/denysp/rtpengine-centos8/ чт, 4 июн. 2020 г. в 12:20, Dragomir Haralambiev mailto:goup2...@gmail.com>>: Hello, I need to install RTPEngine on Centos 8? Any help Best regards, Dragomir ___ Users mailing list Users@lists.opensips.org <mailto:Users@lists.opensips.org> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- BR, Denys Pozniak ___ Users mailing list Users@lists.opensips.org <mailto:Users@lists.opensips.org> http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Question
These processes are related to the Postfix SMTP MTA. On 5/28/20 10:38 PM, Saint Michael wrote: I have an opensips box, and the programs below are running. I did not install the box, so I am not sure what that do. Does anybody know? ├─master─┬─cleanup │ ├─local │ ├─pickup │ ├─qmgr │ └─trivial-rewrite ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] fr-timer expriy
It will trigger a failure_route. — Sent from mobile, with due apologies for brevity and errors. > On Mar 15, 2020, at 4:20 AM, johan wrote: > > How can I catch in the script that fr-timer has expired ? > > I need to be able to see this expiry as I would like to failover on this. > > > BR, > Johan. > > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Ide for module development
On Mon, Aug 12, 2019 at 10:52:09AM +0200, Giovanni Maruzzelli wrote: > https://xkcd.com/378/ <3 -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Recover TCP Connections after restart
Unfortunately, binding to the same port will not preserve TCP connection state. On May 1, 2018 10:05:39 PM EDT, "Podrigal, Aron"wrote: >Hi everyone I hope you are having a good time @opensipsSummit I wish I >would be able to attend. > >Can anyone suggest how to handle graceful restart of opensips without >effecting mid dialog transactions over TCP? Evert time I restart >opensips I >have at least a few clients that fail to send their messages with >477/TM. > >Would it make sense for opensips to use *SO_REUSEPORT* socket option so >that opensips could bind to the same port after restart? -- Alex -- Sent via mobile, please forgive typos and brevity. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Username in DB URL
Hah! Yeah, it's a well-known proble, same if '@' appears in the password. I'd love to know if there's a solution too, as there appears to be no means of escaping these. On Mon, Feb 05, 2018 at 07:08:58PM +0100, Olle Frimanson wrote: > Hi, we are experiencing an issue with a roleout in Microsoft Azure, where > the DB username contains a "@" sign. This seems to be the default in MySQL > in Azure. Is there anyway to escape this the URL for the clusterer module? > > > > If you use mysql client it's typical something like > > > > Mysql -h host.mysql.azure.com -u opensips@host -popensips opensips, which > works fine > > > > In clustererar where we use this this translates to: > > > > modparam("clusterer", > "db_url","mysql://opensips@host:opens...@host.mysql.azure.com/opensips") > > > > which fails > > > > Any ideas on a workaround on this? > > > > BR / Olle > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Optimal trunk capacity filling algorithm or capacity-aware LCR
The simplest and lowest-hanging fruit here is profit margin protection. Don't return routes from the LCR whose cost exceeds the sell rate. This will ensure that client 1 is never routed out Trunk 2, period - if Trunk 1 is exhausted, you don't complete the calls. Then, add some logic to ensure that any given client's calls cannot monopolise more than x% of Trunk X, perhaps activated only if Trunk X is at least y% utilised. Make it possible to tune this on a per-client and per-trunk basis. You can use the dialog module to enforce all these thresholds. That should get you to a good result. -- Alex -- Sent via mobile, please forgive typos and brevity. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Intercepting a 302 response and dispatching an INVITE to a new destination set
Don't arm the onreply_route. Doesn't the failure_route get called? On September 7, 2017 1:08:55 PM EDT, Blagovest Buyukliev <blagov...@voipfone.co.uk> wrote: >Which functions need to be used for that? > >The current routing logic is roughly what's listed below and the >problematic issues are commented. > >How can it be modified to accomplish what you've described? > >route { >... >loose_route(); >record_route(); >t_on_failure("initial_request"); >t_relay(); > ># We are okay here, the initial INVITE is passed to a local server. >} > >onreply_route { >if ($rs == 302) { ># The 302 is caught here, but we are pretty much handicapped to do >anything in this block. ># The response is passed back to the external network, which is >undesired. >} >} > >failure_route[initial_request] { ># How can we arrive here right upon the receipt of the 302, not in >onreply_route? >} > >> On Sep 5, 2017, at 4:54 PM, Alex Balashov <abalas...@evaristesys.com> >wrote: >> >> Yes, failure_route is the answer to all your objectives here. You can >> intercept the 302, extract what you want from it, create a new branch >> and fork the call elsewhere. >> >> -- >> Alex Balashov | Principal | Evariste Systems LLC >> >> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) >> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ >> >> ___ >> Users mailing list >> Users@lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex -- Sent via mobile, please forgive typos and brevity. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Intercepting a 302 response and dispatching an INVITE to a new destination set
Yes, failure_route is the answer to all your objectives here. You can intercept the 302, extract what you want from it, create a new branch and fork the call elsewhere. -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] do_action error in logs
someUA / restcomm need to be string literals, e.g. enclosed in single or double quotes. On Wed, Aug 23, 2017 at 12:20:47AM -0700, Tito Cumpen wrote: > Group I am seeing errors in opensips logs with the latest 2.3 > > > I am attempting to do the following: > > > if ($ua=~someUA){ > > setflag(4); > > } > > > WARNING:core:do_action: error in expression at > /etc/opensips/opensips.cfg:790 > > > I also see an error in this expression > > > > if ($ua=~restcomm){ > > setflag(uac_ws); > > } > > WARNING:core:do_action: error in expression at > /etc/opensips/opensips.cfg:602 > > does anyone have any idea what is causing this error or if this flag is > even being evaluated ? > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Call continuity
On Thu, Jul 20, 2017 at 08:07:28PM +, Abdirahman A. Osman wrote: > Is it possible to keep a live call continue , if the internet > connection fails and route it through another internet connection ? > Does SIP protocol support this kind of Call continuity? Generally speaking, no, though the answer will vary with the modalities of the failover mechanism. But in general, failing anything over to another Internet connection means changing the address of one of the endpoints involved. All session-based Internet applications, whether using a connection-orientated transport or not, presume that the IP and port endpoints on both ends stay the same. So, if you suddenly start sending media from another place and expecting to receive it there likewise, that will not be considered to be part of the same phone call. -- Alex -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Accounting of 200 OK and BYE
On Thu, Jul 20, 2017 at 04:49:16PM -0300, Daniel Zanutti wrote: > I'm having a billing problem from receiving BYE to 200 OK is taking more > than 500ms. If BYE is accounted when it's received, great! > Are you absolutely sure it works this way? As far as I have always seen it behave, yeah. -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Accounting of 200 OK and BYE
My understanding is that this is a rather simple module without sophisticated state componentry, and that it logs things immediately as received, in the same iteration of message processing. -- Alex -- Principal, Evariste Systems LLC (www.evaristesys.com) Sent from my Google Nexus. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Accounting of 200 OK and BYE
On Thu, Jul 20, 2017 at 03:40:29PM -0300, Daniel Zanutti wrote: > In what exactly moment the 200OK and BYE messages are accounted and written > to the database? > > At the moment Opensips receive the 200 OK or after receive ACK of 200 OK? > > Also on BYE, when receive BYE or on 200 OK of BYE? Are you referring to the ACC module, or some other method of accounting? :-) -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] 408 timeout
OpenSIPS didn't hang up anything. On April 28, 2017 10:30:08 PM EDT, volga...@networklab.ca wrote: >Hello Everyone, >Why opensips hang up session with 408 on >SIP;cause=480;text="NO_ANSWER". I expected b2bua will send to >voicemail. >What way possible fix it. > >Please see attached trace. > >volga629 -- Alex -- Principal, Evariste Systems LLC (www.evaristesys.com) Sent from my Google Nexus. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] SIP SDP rfc1918 address fix
The intent of my questions was to get what you think about what you actually want to accomplish. fix_nated_sdp() allows you to replace the IP with the received signalling IP: http://www.opensips.org/html/docs/modules/2.1.x/nathelper.html#id293899 But what about the port? On Mon, Apr 24, 2017 at 11:39:14PM -0400, Satish Patel wrote: > after google found bunch of post where people suggesting use > fix_nated_sdp() is that right approach ? > > On Mon, Apr 24, 2017 at 11:25 PM, Alex Balashov > <abalas...@evaristesys.com> wrote: > > Yes, but RTP can come from a different address than the signalling > > (SIP). What sense would there be in substituting the source of the SIP > > message in there? > > > > On Mon, Apr 24, 2017 at 11:23:30PM -0400, Satish Patel wrote: > > > >> I meant "origin public address of client" if c line isn't public then > >> media never work. > >> > >> c=IN IP4 192.168.1.8. > >> > >> It should be > >> > >> c=IN IP4 > >> > >> On Mon, Apr 24, 2017 at 11:04 PM, Alex Balashov > >> <abalas...@evaristesys.com> wrote: > >> > Satish, > >> > > >> > When you say "origin public address", do you mean the external source > >> > address and port of the SIP message, or the incoming RTP stream? > >> > > >> > On Mon, Apr 24, 2017 at 11:00:40PM -0400, Satish Patel wrote: > >> > > >> >> In my INVITE/SDP i am seeing sometime rfc1918 address which i want fix > >> >> and replace it with origin public address. ex > >> >> > >> >> I am seeing following info in INVITE > >> >> > >> >> v=0. > >> >> o=amsip 0 0 IN IP4 192.168.1.8. > >> >> s= . > >> >> c=IN IP4 192.168.1.8. > >> >> t=0 0. > >> >> m=audio 22530 RTP/AVP 127 111 0 101. > >> >> > >> >> ___ > >> >> Users mailing list > >> >> Users@lists.opensips.org > >> >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > >> > > >> > -- > >> > Alex Balashov | Principal | Evariste Systems LLC > >> > > >> > Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) > >> > Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ > >> > > >> > ___ > >> > Users mailing list > >> > Users@lists.opensips.org > >> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > >> > >> ___ > >> Users mailing list > >> Users@lists.opensips.org > >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > -- > > Alex Balashov | Principal | Evariste Systems LLC > > > > Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) > > Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ > > > > ___ > > Users mailing list > > Users@lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] SIP SDP rfc1918 address fix
Yes, but RTP can come from a different address than the signalling (SIP). What sense would there be in substituting the source of the SIP message in there? On Mon, Apr 24, 2017 at 11:23:30PM -0400, Satish Patel wrote: > I meant "origin public address of client" if c line isn't public then > media never work. > > c=IN IP4 192.168.1.8. > > It should be > > c=IN IP4 > > On Mon, Apr 24, 2017 at 11:04 PM, Alex Balashov > <abalas...@evaristesys.com> wrote: > > Satish, > > > > When you say "origin public address", do you mean the external source > > address and port of the SIP message, or the incoming RTP stream? > > > > On Mon, Apr 24, 2017 at 11:00:40PM -0400, Satish Patel wrote: > > > >> In my INVITE/SDP i am seeing sometime rfc1918 address which i want fix > >> and replace it with origin public address. ex > >> > >> I am seeing following info in INVITE > >> > >> v=0. > >> o=amsip 0 0 IN IP4 192.168.1.8. > >> s= . > >> c=IN IP4 192.168.1.8. > >> t=0 0. > >> m=audio 22530 RTP/AVP 127 111 0 101. > >> > >> ___ > >> Users mailing list > >> Users@lists.opensips.org > >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > -- > > Alex Balashov | Principal | Evariste Systems LLC > > > > Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) > > Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ > > > > ___ > > Users mailing list > > Users@lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] SIP SDP rfc1918 address fix
Satish, When you say "origin public address", do you mean the external source address and port of the SIP message, or the incoming RTP stream? On Mon, Apr 24, 2017 at 11:00:40PM -0400, Satish Patel wrote: > In my INVITE/SDP i am seeing sometime rfc1918 address which i want fix > and replace it with origin public address. ex > > I am seeing following info in INVITE > > v=0. > o=amsip 0 0 IN IP4 192.168.1.8. > s= . > c=IN IP4 192.168.1.8. > t=0 0. > m=audio 22530 RTP/AVP 127 111 0 101. > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] rtpengine database support
How do you view Redis? On April 4, 2017 4:03:31 AM EDT, Ziv Gabelwrote: >Hi All, >Is there any intention to add database support to the rtpengine module >? >The same as rtpproxy. > >*Ziv Gabel *l Professional services l CommuniTake Technologies Ltd. > > > >*M*: +972535265553 l *Skype*: ziv_gabel l *E*: z...@communitake.com > >*T*: +972.4.696.8908 l *F*: +972.4.959.1654 l www.communitake.com -- Alex -- Principal, Evariste Systems LLC (www.evaristesys.com) Sent from my Google Nexus. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] port number in record-route
Record-Route headers contain URIs, and like any SIP URI, they can contain a port component. If that port component is omitted, 5060 is presumed. On March 29, 2017 6:27:30 PM EDT, Satish Patelwrote: >what is the use of port number in record-route? > >I am having major issue with that look like we are running sip server >on different port to protect ourself from sip scanner we are using >non-standard port like 6060/7070 multiple port on single server so it >will failover to other port if firewall block them. > >I am seeing record-route adding first port in listen: directive for >example > >listen=udp:x.x.x.x:7070 udp:x.x.x.x:7070 udp:x.x.x.x:5062 > >In this case my record-route always using 7070 in header default >recordless request coming on 5062. > >I found one more issue here someone posted while ago > >https://lists.cs.columbia.edu/pipermail/sip-implementors/2001-March/000601.html > >___ >Users mailing list >Users@lists.opensips.org >http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex -- Principal, Evariste Systems LLC (www.evaristesys.com) Sent from my Google Nexus. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Monitoring Mediaproxy
If MediaProxy is a SIP endpoint, that would be news to me. -- Alex -- Principal, Evariste Systems LLC (www.evaristesys.com) Sent from my Google Nexus. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Minimum SIP Headers
There are a lot of philosophical questions around whether OpenSIPS is obligated to validate SIP requests to the extent that a UAS would, especially when acting in its normal capacity as a proxy rather than a UAS. By one account, its job is to relay requests, not to enforce rules expressed at the UA layer where failure to adhere to them does not adversely affect the proxy's ability to relay the message. -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Remove to-tag from 1XX provisional responses
On 10/21/2016 06:36 PM, Newlin, Ben wrote: Not only that, but provisional responses (except 100 Trying) are required to have a To tag [1]. So you would likely run into issues with UAs if you start returning messages without them. That is an astute point. -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Remove to-tag from 1XX provisional responses
Conceptually, To tags are governed by the UAs, not the proxy, so, like most fundamental elements of SIP messages, the proxy has no business removing them. :-) On 10/21/2016 05:41 PM, Daniel Zanutti wrote: Hi Short: Do you guys see any problem on removing the to-tag of all 1XX messages? Long description: If user A calls number . Opensips forward to gateway B which replies with 183 session progress, then refuses with 503. Opensips then call gateway C which replies with 183 then 200 OK. User A now is using to-tag from gateway A and not from gateway B and I have an unexpected result on subsequent messages. Do you guys see any problem on removing the to-tag of all 1XX messages? Thanks ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Help with big amount of data for routing
Why do you believe that using a traditional RDBM necessarily means slow lookups? On 10/05/2016 02:44 AM, Miha wrote: HI the is not really opensips issue:) I need somehow to store big amount of data for routing. To every telephone operator I must send RURI like Net_ID+Telephone_number (value indicates to who number belongs to). In this country they have around 120 millions of numbers. After i have all NET_IDs with numbers I will use drouting for routing numbers to right operator based on NET_ID. Here is the issue: - I tried this with redis (lookup must be quick) but this takes so much memory that basically redis brakes everytime in between 50 millions and 70 millions entries - I tried with hash (hset) in redis but did not do any good Do you have any suggestion how to deal with this, what would be the best thing to use? tnx miha ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] reject 3xx code
It can certainly be done in the onreply_route. Conceptually, doing it there makes more sense. The failure_route is not triggered by any particular SIP reply per se, but rather a branch failure event on a transaction. That can be the result of a timeout (e.g. fr_timer) or something else that doesn't gather message form. In contrast, onreply_route is for actual reply messages. -- Alex -- Principal, Evariste Systems LLC (www.evaristesys.com) Sent from my Google Nexus. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Preventing invalid packet parsing
On 06/28/2016 11:06 AM, Owais Ahmad wrote: Thats not the case Alex. But I am expecting a large number of UDP messages arriving on the same port as my udp listening socket. Just want to be sure there is no wasteful work done parsing such packets. You can be reasonably sure that OpenSIPS "fingerprints" such packets quite efficiently and, if it doesn't type as a SIP packet, it won't be parsed. For more details, see: https://github.com/OpenSIPS/opensips/blob/master/parser/msg_parser.c#L543 As you can see, it parses the first line of the message first, and doesn't do any unnecessary work to parse the whole message if the first line doesn't suggest it's SIP. I wouldn't worry about this "premature optimisation". :-) -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Preventing invalid packet parsing
Are you under the impression that these consume a significant amount of OpenSIPS resources? If so, how did you arrive at that conclusion? On 06/28/2016 11:02 AM, Owais Ahmad wrote: Hello, I am getting UDP (non-SIP) packets on opensips listening port. How can I drop those packets to ensure it only consumes the least opensips resources. I do have mechanisms to prevent this on the firewall but just want to be sure that if such a network packet does reach the server, opensips doesn't end up parsing it assuming its SIP. I want to do this without using: sipmsg_validate <http://www.opensips.org/html/docs/modules/2.1.x/sipmsgops.html#id294336> <http://www.opensips.org/html/docs/modules/2.1.x/sipmsgops.html#id294336> Regards, Owais ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] contact after fix_nated_contact()
On 05/23/2016 12:17 PM, Gupta, Rahul wrote: Hi Alex, thanks for the quick reply. I don't see if msg_apply_changes() is available in opensips. When I use it, I get the bad config file error. I did add loadmodule textops.so Oh, sorry! I thought this function was available in OpenSIPS too. -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] contact after fix_nated_contact()
On 05/23/2016 11:55 AM, Gupta, Rahul wrote: How do I get the updated contact after fix_nated_contact(), for example in the log statement $ct prints the old Contact. xlog("Contact before fix_nated_contact: $ct"); fix_nated_contact(); xlog("Contact after fix_nated_contact: $ct"); You can run msg_apply_changes() after calling fix_nated_contact(), assuming it doesn't have any effects harmful to your cause: http://kamailio.org/docs/modules/4.4.x/modules/textopsx.html#textopsx.f.msg_apply_changes -- Alex -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] How to overcome SIP ALG on Wi-Fi routers
On 05/03/2016 08:03 PM, Nabeel wrote: A possible solution to this seems to be a 'SIP tunnel' server. The server would tunnel the SIP and UDP packets over a common TCP port such as 80 or 443, which are more likely to be open and unblocked on Wi-Fi routers for browsing, Email, etc. The tunnel server would then send this data to OpenSIPS over UDP. This sounds substantially similar to a VPN, except without the benefit of encryption. -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Memory fragments
On 05/02/2016 05:08 PM, Dragomir Haralambiev wrote: I have registration activity with Radius asin So, why do you expect fragmentation from time to time as the OpenSIPS memory manager allocates and frees SHM blocks? -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Memory fragments
On 05/02/2016 04:44 PM, Alex Balashov wrote: On 05/02/2016 04:22 PM, Dragomir Haralambiev wrote: Opensips has not routed any calls. Has it done anything else, including passive registration activity or any periodic database-bound synchronisation tasks? Also, what about passively deflecting the SIPvicious-es of the world? -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Memory fragments
On 05/02/2016 04:22 PM, Dragomir Haralambiev wrote: Opensips has not routed any calls. Has it done anything else, including passive registration activity or any periodic database-bound synchronisation tasks? -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Failure cause code in case of transaction timeout
On 04/19/2016 11:29 PM, John Nash wrote: I am using fr_inv_timer and fr_timer and logging failed transactions, but in both cases I get request timeout. Can I control this somehow so that I log "Time out" only in case fr_timer expires and record something else in case fr_inv_timer? The best option I can think of is to set a transaction-persistent flag of some sort, e.g. using AVPs, to indicate that at least some reply has been received in an onreply_route. http://www.opensips.org/Documentation/Script-CoreVar-2-2#toc2 It then becomes quite easy to logically deduce the circumstances of the timeout in a failure_route. -- Alex -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Can I use fix_nated_sdp with domain as parâmeter?
RFC 4566 (SDP) allows FQDNs for unicast address values: is the address of the machine from which the session was created. For an address type of IP4, this is either the fully qualified domain name of the machine or the dotted- decimal representation of the IP version 4 address of the machine. For an address type of IP6, this is either the fully qualified domain name of the machine or the compressed textual representation of the IP version 6 address of the machine. For both IP4 and IP6, the fully qualified domain name is the form that SHOULD be given unless this is unavailable, in which case the globally unique address MAY be substituted. A local IP address MUST NOT be used in any context where the SDP description might leave the scope in which the address is meaningful (for example, a local address MUST NOT be included in an application-level referral that might leave the scope). -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ Sent from my BlackBerry. Original Message From: Rodrigo Pimenta Carvalho Sent: Tuesday, April 12, 2016 13:52 To: users@lists.opensips.org Reply To: OpenSIPS users mailling list Subject: [OpenSIPS-Users] Can I use fix_nated_sdp with domain as parâmeter? ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Asterisk Unrecognized sip header
On 03/31/2016 02:49 PM, Travis Manson-Drake wrote: I would be more than happy to send it to you privately if that's ok? Of course! -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] What is the module to fix SDP ?
As long as the STUN client properly ascertains its external RTP port through STUN as well, that should work fine. Out of curiosity, what are your hardware limitations that would make server-side RTP relay impractical? Also, you are aware that your RTP relay doesn't have to be on the same hardware as your SIP proxy, correct? -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Asterisk Unrecognized sip header
Well, can we see the requests being sent to Asterisk? :) On 03/31/2016 01:48 PM, Travis Manson-Drake wrote: Hello everyone. Hope your all doing well! I seem to be having an issue in which when a call is sent through OpenSIPS to my Asterisk PBX asterisk with eventually send a BYE with a hang up Cause of 111/unrecognized sip header. I looked at the headers of all my packets but can’t find anything out of the norm. has anyone experienced this before and ideas on what it might be or what I might check? I found a few article on asterisk forums mention NAT issues, but I’ve implemented a NAT helper into my routing logic so that shouldn’t be the case. Thank you all for your time Travis Manson-Drake Voice Systems Analyst Simply Bits, LLC T:520.545.0311 F:520.545.7252 E:trav...@simplybits.com <mailto:trav...@simplybits.com> 5225 N. Sabino Canyon Road Tucson, AZ 85750 Support Hotline: 520.545.0333 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] New Accounting - PROBLEM
On 03/25/2016 03:48 PM, Dragomir Haralambiev wrote: unknown command , missing loadmodule? That sounds like a typo in the config. -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] How can the global variable "listen" to listen WLAN ?
On 03/21/2016 04:36 PM, Rodrigo Pimenta Carvalho wrote: According to the documentation "...It can be an IP address, hostname or network interface id". So, can I do the following configuration? listen=tcp:wlan0:5060 Why can't you just do exactly that? -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Reqriteuri question
Travis, rewriteuri() is a legacy core function that does not support PVs. Have you considered ...? # Option 1. $rU = $fU; $rd = $avp(variable); # Option 2. $ru = "sip:" + $fU + "@" + $avp(variable); -- Alex -- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Out of memory problem
What is the exact text of the error? -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ Sent from my BlackBerry. Original Message From: Денис Путято Sent: Monday, February 29, 2016 00:58 To: Alex Balashov; OpenSIPS users mailling list Subject: Re: [OpenSIPS-Users] Out of memory problem ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Out of memory problem
Have you attempted to increase the shared memory allocation to OpenSIPS (-m CLI option)? -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ Sent from my BlackBerry. Original Message From: Denis Sent: Monday, February 29, 2016 00:45 To: users@lists.opensips.org Reply To: OpenSIPS users mailling list Subject: [OpenSIPS-Users] Out of memory problem ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Connection IP in SDP is messed up after RTPPRoxy Offer
Ali, Is there any danger that you are calling rtpproxy_offer() twice, or using rtpproxy_offer() in combination with fix_nated_sdp()[1]? -- Alex [1] http://www.opensips.org/html/docs/modules/2.1.x/nathelper.html#id293899 -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Things to take care of when dealing with preload route invite.
Hello Aqs, Why not strip the Route header instead of denying the request? That is to say: if(is_present_hf("Route")) remove_hf("Route"); -- Alex -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] A doubt on count of child processes, children parameter in cfg.
Hi, The command 'opensipsctl ps' should clear this up. e.g. in my case, with children=8, [root@sip ~]# opensipsctl ps Process:: ID=0 PID=743932 Type=attendant Process:: ID=1 PID=743933 Type=MI FIFO Process:: ID=2 PID=743934 Type=time_keeper Process:: ID=3 PID=743935 Type=timer Process:: ID=4 PID=743936 Type=SIP receiver udp:x.x.x.x:5060 Process:: ID=5 PID=743937 Type=SIP receiver udp:x.x.x.x:5060 Process:: ID=6 PID=743938 Type=SIP receiver udp:x.x.x.x:5060 Process:: ID=7 PID=743939 Type=SIP receiver udp:x.x.x.x:5060 Process:: ID=8 PID=743940 Type=SIP receiver udp:x.x.x.x:5060 Process:: ID=9 PID=743941 Type=SIP receiver udp:x.x.x.x:5060 Process:: ID=10 PID=743942 Type=SIP receiver udp:x.x.x.x:5060 Process:: ID=11 PID=743943 Type=SIP receiver udp:x.x.x.x:5060 -- Alex -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] A doubt on count of child processes, children parameter in cfg.
On 02/11/2016 08:50 PM, surya wrote: I am facing some performance issues that's why I was thinking about those. Performance issues of what nature? -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] A doubt on count of child processes, children parameter in cfg.
I'm pretty sure that only the SIP receiver threads create DB connections. -- Alex -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] B2B bye method handling
Ross, Could you provide a libpcap-formatted capture of this scenario, either on-list or privately? -- Alex On 02/09/2016 04:35 PM, Ross wrote: (I'm new to opensips, so bare with me if I'm off track). I setup a very simple configuration using b2bua for a quick top hiding setup/proxy, and it works correctly, except for handling BYE messages coming from the upstream connection. Note, db_mode is set to 0 for both b2b_logic + entities. setup: source client (aka invite initiator) -> os/b2b -> upstream Quick Issue description: Call sessions is established, and works fine, and when the client disconnects (initiates the bye message), the call disconnects cleanly with all parties as expected. (this is good/normal) But when the server side disconnects first (sends the initial bye message), opensips improperly handles the bye message by believing it to be from the client side. Therefore doesn't properly send the corresponding responses to the remote parties. In more detail: Delving into the code, and looking at some packet sniffs/debugs, I've come to the idea that the b2b code (notably starting dlg.c:706) doesn't take into account that the new BYE message will have the To/From Fields reversed when from the server as it's not technically a response. Because of this, the b2b_parse_key on 708 fails as it's only looking at the "to" field tag for it's index key. Then the request falls through and is then incorrectly parsed as a client sourced packet, as that lookup uses a different index key (callid), which is correct for the session. I've tested this using metaswitch and asterisk in both the client and server positions and they both return the same data (to/from), but would like anyone else's thoughts on this. Apologies, while I can read code, I'm not a proper programmer to make a real patch. Thanks, Ross. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] recommended settings for performance
Bogdan,For moderately I/O-bound processing, what is the optimal number of child processes in relation to CPU cores?You say that the number of child processes can exceed available cores (i.e. nproc). By how much? Where is the point at which contention, locking and waiting leads to diminishing returns?My personal experience suggests that on an 8-core system, architectural diminishing returns of ‎this sort appear quite rapidly, and that 32 would be far too many worker processes. However, last time I really experimented was some years ago.-- Alex--Alex Balashov | Principal | Evariste Systems LLC303 Perimeter Center North, Suite 300Atlanta, GA 30346United StatesTel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)Web: http://www.evaristesys.com/, http://www.csrpswitch.com/Sent from my BlackBerry.From: Bogdan-Andrei IancuSent: Friday, February 5, 2016 05:45To: OpenSIPS users mailling list; Søren AndersenReply To: OpenSIPS users mailling listSubject: Re: [OpenSIPS-Users] recommended settings for performance Hi Søren, The throughput of your opensips highly depends on your script - if your logic is complex, if it performs many external queries (db,radius, rest, etc). It is more test and see approach - monitor the load of your opensips and adjusted based on your observations . Trying to answer to your questions: 1) assuming there is a need for CPU processing, you should configure a number of total processes (in opensips) at least equal to the number of cores - the opensips as overall app can use all the cores in the same time. 2) I guess you mean about memory ? if you have large CPS / parallel calls / registrations, consider increasing the shm memory - anyhow, inspect the mem usage at runtime with "opensipsctl fifo get_statistics shmem: " and re-adjust 3) if you script is I/O intensive (DNS, DB, RADIUS, REST), better have a large number of processes (32?). If not, try to correlated with the number of cores you have. Also, adjust on the run by checking the internal load via "opensipsctl fifo get_statistics load: " Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer http://www.opensips-solutions.com On 01.02.2016 23:31, Søren Andersen wrote: Hello there, I’m looking for some reference configs on opensips performance. - How many cpu cores are you using and how many CPS are you peaking at? - Which startoptions in opensipsctlrc are you using? - How many opensips process children are you running? Currently I’m planning to use STARTOPTIONS="-m 2048 -M 8" on a 2 core VM with children=8. – I hope I’ll be able to run 600-1500 currently call on that setup. But that are your experience? /Søren ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] ACK not forwarding
Bogdan, That's interesting. I had no idea OpenSIPS had a module specifically devoted to fixing bad SIP that really shouldn't be fixed. :-) -- Alex -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] ACK not forwarding
On 02/04/2016 11:08 AM, Alex Balashov wrote: Bogdan, That's interesting. I had no idea OpenSIPS had a module specifically devoted to fixing bad SIP that really shouldn't be fixed. :-) s/a module/dialog module functionality/ -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] ACK not forwarding
The RURI of an end-to-end ACK should always be equal to the remote dialog target, i.e. in this case the Contact URI in the 200 OK. If the RURI of the ACK is not equal to the remote target, it's not a properly formed ACK. And certainly, it should not point to the OpenSIPS proxy itself. There's no reasonable way to work around it: the UA in question needs to be fixed. -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ Sent from my BlackBerry. Original Message From: Schneur Rosenberg Sent: Tuesday, February 2, 2016 13:22 To: OpenSIPS users mailling list Reply To: OpenSIPS users mailling list Subject: [OpenSIPS-Users] ACK not forwarding ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] B2B Call-ID GUID generation scheme
Hello, I am using the "top hiding" B2B scenario and am a bit puzzled as to the thinking that led to the current scheme for the generation of GUIDs on the B-leg of B2BUA entities. In b2b_entities/dlg.c:b2b_generate_key(), the use of this format: .. leads to very short Call-IDs like this: Call-ID: B2B.27572.17705 This is impractically short, and is certain to lead to collisions in a high-volume environment with millions of calls daily. There are many database systems etc. that rely on all calls being identifiable by a unique GUID. I don't think it conforms to the RFC 3261 prescription that GUIDs be good GUIDs. Unfortunately, it's not possible to simply append additional random data to the key string, since the Call-ID has specific meaning that is extracted in sequential requests, as per b2b_entities/dlg.c:b2b_parse_key(). This function also foresees the length of the GUID and the positioning of the delimiters to be rather static in nature. Furthermore, the only way I can see to lengthen the GUID is to increase the B2B entity hash size. I have it set to 2^16, but it doesn't seem practical or worthwhile to set it to much more than that. Even increasing it to millions of buckets will only produce a gain of another 3-4 [0-9] digits, which isn't the combinatoric explosion I'm looking for. :-) For the moment, I have "solved" this problem by: 1) Setting a static modparam("b2b_entities", "b2b_key_prefix", "ABCDEFGIJKLMNOP") of 15 characters in length. 1) Removing the code in b2b_parse_key() that compares the prefix to the value of the `b2b_key_prefix` modparam, so that this portion of the Call-ID can be any 15-character string. 2) Modifying b2b_generate_key() to generate a random 15-character string in place of the `b2b_key_prefix`: --- static char *ever_so_random(int len) { static char buf[20]; int i = 0; struct timeval tv; memset(, 0, sizeof(buf)); gettimeofday(, NULL); srand(tv.tv_usec); for(i = 0; i < len; i ++) { srand(rand()); buf[i] = (char) ((int) 'A' + (rand() % 26)); } return buf; } ... str* b2b_generate_key(unsigned int hash_index, unsigned int local_index) { ... len = sprintf(buf, "%s.%d.%d", ever_so_random(b2b_key_prefix.len), hash_index, local_index); ... } --- This is a rather naive and unsophisticated approach to generating random data, just the first thing that popped into my head. Together with an augmented HASH_SIZE constant of 1 << 23, passed to core_hash(), it generates Call-IDs like: Call-ID: LGHJRYMWFKMRIMP.55196.78746776 Call-ID: GIUSLMQJLSWSJVW.42081.639158452 Call-ID: DNDAINOIOZXCEDB.9209.1278194624 Better than nothing, but not ultimately where happiness lies. :-) My real questions are: 1) Am I missing any key design decisions that led to the generation of such short Call-IDs on the B leg, seemingly in flagrant violation of RFC 3261's prescription (Section 8.1.1.4 "Call-ID") that ... In a new request created by a UAC outside of any dialog, the Call-ID header field MUST be selected by the UAC as a globally unique identifier over space and time unless overridden by method-specific behavior. All SIP UAs must have a means to guarantee that the Call- ID header fields they produce will not be inadvertently generated by any other UA. 2) Is there some way to override this that I don't realise, e.g. using a minimalistic scenario file for topology hiding? Many thanks in advance! -- Alex -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] issues with prepared statements in mysql
That's because it is a single transaction and is being rolled back, most likely. On 03/03/2010 01:23 PM, Alex G wrote: It fails completely. As a matter o fact... anything that doesn't return query OK fails: :( On Mar 3, 2010 12:17 PM, Bogdan-Andrei Iancu bog...@voice-system.ro mailto:bog...@voice-system.ro wrote: Hi Alex, and the acc record is actually added (even with the trigger error) ? or the acc insert fails completely ? Regards, Bogdan Alex G wrote: I have a scenario where I execute a trigger in mysql when info is added to the a... ___ Users mailing list Users@lists.opensips.org mailto:Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Bogdan-Andrei Iancu www.voice-system.ro http://www.voice-system.ro ___ Users mailing list Users@lists.opensips.org mailto:Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems LLC Tel: +1 678-954-0670 Direct : +1 678-954-0671 Web: http://www.evaristesys.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] opensips as a transcoder
OpenSIPS is a SIP proxy. It has no imaginable relation to codecs or anything audio-bearer related. It does not deal with RTP at all. -- Sent from mobile device On Feb 8, 2010, at 2:11 AM, Live School in...@live-school.net wrote: Hi, is it possible to use openSIPS as transcoder only ? if yes, any link of configuration ? Thanks Franck ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Iñaki Baz Castillo all wisecrac k but no knowledge
What is this, middle school? In any case, unfortunately for you, you could not be more wrong. Iñaki is one of the most leading experts on SIP protocol mechanics in the open-source community, and his answers are unfailingly precise and detailed. Often, they also contain an element of personality, as is true of any person. This is normal and desirable; it wouldn't be Iñaki (or anyone else in his position) without it. On 01/21/2010 06:50 AM, Slot Zero wrote: Inaki shutup ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems LLC Tel: +1 678-954-0670 Direct : +1 678-954-0671 Web: http://www.evaristesys.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Iñaki Baz Castillo all wisecrac k but no knowledge
I think Iñaki was trying to tell you politely that your question, was you formulated it, is somewhat naive. This is mainly so because you are looking for a quick answer (as though it could be devised from reading the cookbook) to a potentially rather complicated, larger architectural issues. Certain questions just can't be tackled that way, and certain things can't be learned nor solved in one day, or with a few hours of effort to find a recipe. On 01/21/2010 07:18 AM, Slot Zero wrote: Well at least he shouldn't have been the one to start it. as far as personality trait well you got two of us; the only difference is that I need loud mouthed wisecracking trigger. So I am still better as far as personality goes. If he is such an expert he could have at least sent a decent reply to my request. I think that is pretty much what I am asking you experts. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems LLC Tel: +1 678-954-0670 Direct : +1 678-954-0671 Web: http://www.evaristesys.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] A thorough waste of my time fuck you Inaki good Bye
Hey Kiddo, Someday, when you grow up, you may realise that someone was just trying to tell you - in a rather sagacious, terse manner - that the question you were asking was not really of a manageable or addressable scope, nor especially coherent. You're actually much better off that way, rather than by having your question interrogated on a much more granular level by people who have vastly more experience and accumulated knowledge. Check this document out: http://catb.org/~esr/faqs/smart-questions.html In your case, I'm specifically thinking: http://catb.org/~esr/faqs/smart-questions.html#volume http://catb.org/~esr/faqs/smart-questions.html#goal http://catb.org/~esr/faqs/smart-questions.html#explicit -- Alex On 01/21/2010 07:58 AM, Slot Zero wrote: Dear All, I guess none of you have a decent reply as far as my request is concerned. Oh yeah its idiots like Iñaki that prove this place to be a waste of time especially when someone who is trying to get things working. As far as paying consultants dude I am just starting out on my own ok fucking moron. Bogdan I salute you for your efforts but this mother fucker has totally been an asshole and a bad name on your/development group beautiful solution. Thanks to Inaki I will be looking into something else to enable me to do what I want. FUCK YOU INAKI. great waste of my time. Now go fuck yourself. So long. -- Alex Balashov - Principal Evariste Systems LLC Tel: +1 678-954-0670 Direct : +1 678-954-0671 Web: http://www.evaristesys.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Music On Hold Opensips
OpenSIPS is a SIP proxy, not a media endpoint. So, it doesn't do that. On 01/21/2010 12:00 PM, Mehdi Bouchefra wrote: Hello, I'd like to implement the function Music on hold on Opensips. Thank’s a lot. Mehdi ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems LLC Tel: +1 678-954-0670 Direct : +1 678-954-0671 Web: http://www.evaristesys.com/ ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Is RPID being cached?
Depends on your db_mode for the registrar. On 01/14/2010 03:07 PM, Alan Frisch wrote: Using OpenSIPs 1.6.1 and have noticed a peculiar issue. If a subscriber has a value in the RPID column, then that value is changed to NULL it seems that OpenSIPs still retains the previous number. For example: If RPID column is NULL (initially) --- if ($avp(s:rpid))) returns FALSE If RPID column is changed to eg. 1234567890 --- if ($avp(s:rpid)) returns TRUE and is 1234567890 If RPID column is then changed back to NULL --- if ($avp(s:rpid)) returns TRUE and is 1234567890 Is this a bug or a feature? In either case, is there a way to get OpenSIPs to only use the current DB value? Thanks! ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] INVITE as a variable?
On the contrary, rewriting the Request URI (which is what I assume you mean by rewrite the number in the INVITE itself), including the user part of the Request URI (the part before the @), is one of the most basic functions the proxy *can* perform. See the pseudovariables $ru (and for the user part specifically, $rU, or $rd for the domain and $rp for the port). They are mutable: $rU = 39824234234; $rd = sip.biloxi.net; -- Alex On 01/06/2010 09:52 AM, Brad Bendy wrote: Hi list, Im trying to find a way to extract and the re-write the number in the INVITE itself, Mera and a few other switch manufacturers are all of a sudden are trying to route on INVITE and not the To field, when the INVITE has a prefix in it they fail to complete the call then. I can't seem to find any built in variables or way to do that, is it just not possible to rewrite the INVITE or am I missing something? It would seem pretty straight forward but no way to do this, am I just blind? Thanks for any help ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Need help to forward Access number
Rewrite Request URI ($ru) and t_relay(). -- Sent from mobile device On Jan 1, 2010, at 1:40 AM, Ahmed Munir ahmedmunir...@gmail.com wrote: Hi, I want to forward an Access Number from OpenSIPS to Asterisk machine. Kindly advise how can i do that? Which modules/functions are use to forward by INVITE section? -- Regards, Ahmed Munir ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] re-REGISTER with To tag gets 404
Registrations do not establish a dialog. On 12/30/2009 01:28 PM, Jeff Pyle wrote: Hello, The default config of Opensips takes any packet with a To tag but that doesn't fall into the loose_route() category and responds with a 404 Not here. My config is based largely on the default one and contains this portion. I'm testing the SIP capabilities of a Mitel 5000 PBX. The initial registration is fine, but re-registrations contain To tag presented to the Mitel in the 200 OK of the initial registration. These re-registrations receive the 404 Not here response. Looking into RFC3261 I don't see anything specific to REGISTERs, only that (paraphrased) subsequent transactions within a dialog should contain the tags of the initial transaction. Is the Mitel doing something wrong according to the RFC, or is the default config mistreating this somehow? Should an exception be added for REGISTERs? Thanks, Jeff ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Any word on the B2B bug?
With all due respect, Jeff, this is a free open-source project; unless you have a commercial maintenance or support agreement of some description (in which case this mailing list is not a forum for communication related to internal affairs), pestering developers about open items is not a freedom at your disposal. The statement Don’t mean to be a pest or to rush anyone implies that it is within the scope of your authority or capability to rush anyone if you did have the inclination. It is not. Anca Vamanu wrote: Hi Jeff, I will solve it today or in the worst case tomorrow. Regards, Anca Jeff Kronlage wrote: Hi Anca, One of my coworkers is on the devel mailing list and saw the repeated “OK” issue I was having with the B2B come through as a bug report. Don’t mean to be a pest or to rush anyone, but we were curious if there was a timeframe on that being addressed? It would help to know for our internal planning. Thanks so much, Jeff K ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Any word on the B2B bug?
Jeff Kronlage wrote: Wow, I don't really think this was necessary. Perhaps my word choice at 5:30am was poor, and if that was the case, I apologize. You were not expected to think my response necessary. I've been involved in the open source community on other projects. I get it. This was not a pester. This was a serious request for ETA - if it was going to be a month, I would have liked to know so I can pursue other approaches of problem solving. I don't see a request for ETAs as being a get it done! and that's certainly not how I was hoping to come across. As we all know, it's hard to express intent/emotion over electronic media, so let's all take a deep breath and be friends. This is true. Nevertheless, in matters word choice or what have you, it would behoove you to remember that neither Anca individually nor the OpenSIPS development team collectively have any obligations whatsoever to you, the organisation by which you are employed, commercial customers for whom you do work, et cetera; Anca's response was a deferential courtesy characteristic of the good grace of open-source developers when dealing with this type of imperiousness. Absent commercial agreements to the contrary, nobody is concerned either with your coworkers nor your internal planning, and it has zero imaginable correlation with their priorities or goals. You are not entitled to request status reports as if you are a micro-manager coming around to check on your cubicle flock. -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] loose_route: loop on ACK requests
It sounds like OpenSIPS does not realise that the destination domain of a hop-by-hop ACK's Request URI is local. Airton Kuada wrote: Hi all. I'm having problems about loose_route(). Opensips is routing ACK requests to itself. Follow bellow the code regarding loose_route: if (has_totag()) { if (loose_route()) { if (is_method(BYE)) { setflag(1); # do accounting ... setflag(3); # ... even if the transaction fails } else if (is_method(INVITE)) { record_route(); } xlog (ROTEAMENTO ... $rm); route(1); } else { if ( is_method(ACK) ) { // HERE OCCUR THE PROBLEM if ( t_check_trans() ) { xlog (ENVIANDO ACK COM TRANSACAO ABERTA PARA FRENTE); t_relay(); exit; } else { # ACK without matching transaction - # ignore and discard xlog (IGNORANDO ACK SEM TRANSACAO); exit; } } sl_send_reply(404,Not here); } ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Transfer issue
OpenSIPS (in this case) is a proxy, not a user agent. It cannot do the REFER. Peter den Hartog wrote: yeah i understand that, but why is it sending this refer to the sip trunk? i mean.. it's an outside call going to a local extention, i want to transfer from 1 local extention to another, so why isn't my opensips doing this refer? Raúl Alexis Betancor Santana wrote: Peter den Hartog escribió: 77 is the sip trunk, 90 are my IP's. So, it's your trunk provider the one who refuses to do the REFER ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Transfer issue
SEMS is another option for a B2BUA, though all its prebuilt B2BUA apps are not pure B2BUA but incorporate some sort of initial media-based announcement premise. But you can use its Python or C++ API to create one. Another option is YATE? -- Sent from mobile device On Oct 23, 2009, at 8:07 PM, Iñaki Baz Castillo i...@aliax.net wrote: El Sábado, 24 de Octubre de 2009, Jeff Kronlage escribió: I follow this, but -and please correct me where I'm misunderstanding- isn't the point of using a Proxy versus a B2BUA is that it's more lightweight and scalable? Of course, but if you want PBX features you need a B2BUA. Also, trasferring a call from a SIP PSTN provider does require *always* a B2BUA (in fact the user doesn't transfer the provider, but the B2BUA which will accept such REFER). It seems with this setup every call ends up routed through Asterisk on the initial INVITE, simply so that when a REFER potentially comes later in the dialog, it can handle it. If you need a proxy use a proxy. If you need a PBX you need a PBX/ B2BUA. If you need a very scalable system with high load you can scale it with a proxy in front of various PBX's (of course, most probably the PBXs won't share dialog inforamtion between them...). Our setup has been initially engineered for thousands of concurrent calls, and we're hoping to avoid having a dozen Asterisk machines :) What you are looking for is the dream all want: a scalable SIP B2BUA (no media handling), so a cluster of these B2BUA's would be located behind a proxy (which does load balancing and failover). And it would be greater if the B2BUA share information (about current dialogs and so) in some way (memcache? common database?...). You could implement it with SipServlets (see Sailin SIP application server or others), or FreeSwitch which allows calls without handling the media... Of course, Asterisk is not the most suitable solution: it involves media handling (canreinvite is a hack), it has a very poor SIP stack... and basically it's designed to be a single PBX box. Our goal is to design something like: UA -- Opensips -- Our PSTN gateways That could dynamically turn into, on the fly: UA -- Opensips -- B2BUA -- Our PSTN Gateway We haven't found a clean way of doing this, unfortunately... It may just end up being a hack on Opensips 1.6 if that might work. You shouldn't expect that OpenSIPS could behave as a PBX because it's a proxy. And what you need is a PBX, you MUST assume it. A proxy is very scalable, fast and so, but it will NEVER provide PBX features (as transferring a call coming from a PSTN provider to other user). IMHO OpenSIPS b2bua module will be useful for some limited tasks (topology hidding and others) but not for replacing a PBX. Regards. -- Iñaki Baz Castillo i...@aliax.net ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] send bye in case of parallel forked call
No. -- Sent from mobile device On Oct 21, 2009, at 9:34 AM, Uwe Kastens ki...@kiste.org wrote: Hi, I have the following requirement: If a from tm generated cancel is answered with a 200 OK I want to send a BYE to the UAC. Is this possible? BR Uwe -- kiste lat: 54.322684, lon: 10.13586 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] [OpenSIPS-News] How modify Contact header
Try escaping the : as well. They have special meaning in regex. Ariadne Ramos wrote: Hello I’m trying to modify the contact header in onreply route I’m using if(subst('/^Contact:(.*)@proxy.yy.com/Contact:\...@proxy.xx.com/')) { xlog(L_INFO, SUBST OK $ct \n); } And the contact still being the same Logs [15224]: SUBST OK sip:001x...@proxy.yy.com Can you help me to understand what I’m missing? Thanks in advanced Ariadne P BE CARBON CONSCIOUS. PLEASE CONSIDER OUR ENVIRONMENT BEFORE PRINTING THIS E-MAIL ___ News mailing list n...@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/news -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Using RTPProxy to proxy all non-NAT'ed calls as well
You are attempting to invoke rtpproxy on a request or reply which does not contain an SDP body, and therefore force_rtp_proxy() cannot operate on it. Julian Yap wrote: I have a working set up where OpenSIPS is my registrar and SIP Proxy. NAT'ed UA calls are handled with RTPProxy. I want RTPProxy to handle non-NAT'ed UA's (for example, UA's on a public internet IP). I tried a quick test of running the force_rtp_proxy() function on non-NAT'ed INVITE packets but I get this error: Oct 18 00:18:17 sip1 /sbin/opensips[18749]: ERROR:nathelper:extract_body: message body has length zero Oct 18 00:18:17 sip1 /sbin/opensips[18749]: ERROR:nathelper:force_rtp_proxy2_f: can't extract body from the message Is it possible to run RTPProxy in this fashion? I'm looking for the easiest fix. Thanks, Julian ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] how do you determine first registration of a device
As Inaki said, what you're trying to achieve is a little ridiculous. But, if you must do it, I recommend using a database capable of advanced triggers and decent stored procedures (PostgreSQL) and using usrloc and registrar with full database backing and no caching or synchronisation (changes immediately reflected in database). Then put a trigger on your 'location' table. Trying to do this from the route script is silly. Alex G wrote: I have a scenario where I'm trying to fire a script based on the first registration of a device. In normal circumstances I can check the location table using registered() function and if there is an entry i know it's not the first registration. My problem is when a phone does a quick reboot., it sometimes comes back on line before the phone's entry is removed from the location table. In this case, the above solution does not work. Can anyone provide advice on how to determine first registration of a phone coming back online in another way? ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] how do you determine first registration of a device
A new REGISTER request will certainly have a different Call-ID. However, I think the correct way to handle this is to just live with it. If the phone did not unregister, then it will be subject to the consequences of that, and it's okay. Kamailio 1.5.x's registrar module has a function called reg_free_contacts() which you could use if a save() fails due to a contact already existing in memory or database and then call save(). Perhaps OpenSIPS will implement something like this at some point. Alex G wrote: this still does not solve the issue of a reboot that occurs in under 60 seconds. if a phone does not unregister on reboot, the record remains in the db for those 60 seconds. if it comes back up in under 60 seconds, then to opensips it looks like a reregistration. is there someway to discern this scenario from the info in the location table that is already there? maybe the callid or cseq or something? On Sat, Sep 26, 2009 at 1:43 PM, Alex Balashov abalas...@evaristesys.com mailto:abalas...@evaristesys.com wrote: As Inaki said, what you're trying to achieve is a little ridiculous. But, if you must do it, I recommend using a database capable of advanced triggers and decent stored procedures (PostgreSQL) and using usrloc and registrar with full database backing and no caching or synchronisation (changes immediately reflected in database). Then put a trigger on your 'location' table. Trying to do this from the route script is silly. Alex G wrote: I have a scenario where I'm trying to fire a script based on the first registration of a device. In normal circumstances I can check the location table using registered() function and if there is an entry i know it's not the first registration. My problem is when a phone does a quick reboot., it sometimes comes back on line before the phone's entry is removed from the location table. In this case, the above solution does not work. Can anyone provide advice on how to determine first registration of a phone coming back online in another way? ___ Users mailing list Users@lists.opensips.org mailto:Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org mailto:Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] how do you determine first registration of a device
Alex Balashov wrote: A new REGISTER request will certainly have a different Call-ID. However, I think the correct way to handle this is to just live with it. If the phone did not unregister, then it will be subject to the consequences of that, and it's okay. Kamailio 1.5.x's registrar module has a function called reg_free_contacts() which you could use if a save() fails due to a contact already existing in memory or database and then call save(). Perhaps OpenSIPS will implement something like this at some point. It actually has an unregister() function as well. -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Can i use openser to insert Service Route header in 2xx Register response.
insert_hf() priyank luthra wrote: Hi Can i use openser to insert Service Route header in 2xx Register response. If yes, how. -- Regards, Priyank ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Can i use openser to insert Service Route header in 2xx Register response.
All changes are made in openser.cfg. priyank luthra wrote: Hi Can you tell me in detail, which file to make this change in.. i am a newbie to opensips I have openSER 1.3.0. On Thu, Sep 17, 2009 at 12:03 PM, Alex Balashov abalas...@evaristesys.com mailto:abalas...@evaristesys.com wrote: insert_hf() priyank luthra wrote: Hi Can i use openser to insert Service Route header in 2xx Register response. If yes, how. -- Regards, Priyank ___ Users mailing list Users@lists.opensips.org mailto:Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org mailto:Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Regards, Priyank ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Can i use openser to insert Service Route header in 2xx Register response.
Iñaki Baz Castillo wrote: 2009/9/17 Alex Balashov abalas...@evaristesys.com: insert_hf() But that is just for request, not for responses... There is some function in tm module to add headers in responses (AFAIR). That's not true, AFAIK: http://www.opensips.org/html/docs/modules/1.5.x/textops.html#id271292 This function [insert_hf] can be used from REQUEST_ROUTE, ONREPLY_ROUTE, FAILURE_ROUTE, BRANCH_ROUTE. -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTP traffic opensips
A SIP proxy does not relay RTP. The only way RTP should ever hit the OpenSIPS host is if you're running MediaProxy, RTPProxy, etc. on the same host. Otherwise, RTP should flow entirely between the two hosts and OpenSIPS has absolutely *zero* to do with it. If it's not working, NAT is the most likely reason. Jonathan González wrote: Hi there, I have been configuring OpenSIPS for a while the last 2 days and I have been able to configure a simple server that register clients against a Database. The problem I am facing is that when the call is established there's no Audio. I can see RTP traffic from one client to the SIP Proxy and from the other client to the SIP Proxy. On the server where opensips is running I can see both RTP traffics but nothing goes from OpenSIPS to the clients. The configuration I am using is the the one that comes with the installation, changed to support mysql. I have followed this tutorial http://www.voip-info.org/wiki/view/Opensips+Installation,+How+to. As far as I understand, OpenSIPS should act as SIP proxy so RTP traffic should be between clients. Any help would be apprecieted. Thanks in advance, Jonathan -- Personal webpage - www.jonbaraq.eu ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] explizit handling auf replyto
Replies are automatically routed only if they are statefully routed. Uwe Kastens wrote: Hi Bogdan, I need to route this replys with an reply_route and forward them explicitly to the pstn gateway. and how do you do reply routing ?? replies are automatically routed based on VIA stack and you cannot influence this from script. ... if (!t_relay()) { sl_reply_error(); }; t_on_reply(1); } onreply_route[1] { xlog(L_DBG,== route [1] t_on_failure msg-len from $si:$sp: $ml \n$mb\n ==\n); forward(10.20.30.101:5100); } BR Uwe Regards, Bogdan This not as it should be? BR Uwe using forward() forces a stateless behaviour of OpenSIPS. To be able to catch replies for a requests (what on_reply route does) it requires a statefull approach. This is the reason it does not work for you. If you use t_relay() instead of forward(), you should be able to use failure and onreply routes. Regards, Bogdan Uwe Kastens wrote: Hello, I am using opensips 1.5.1 and I have the problem, that busy messages are not passed to the mediagw. Anything else is working (ACK etc.pp.). If I route that message via forward(IP:port) to the media gw in on_replyto, busy is processed correctly. If not, the busy is not send to the mediagw. So I was wondering if I had to handle some replyto messages? BR uwe ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] explizit handling auf replyto
Uwe Kastens wrote: Replies are automatically routed only if they are statefully routed. Statefull = t_relay() ? Yes. -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] explizit handling auf replyto
Uwe Kastens wrote: Hi, Replies are automatically routed only if they are statefully routed. Statefull = t_relay() ? Keep in mind, you can't really mix stateful and stateless handling for what are hopefully obvious reasons. If you statelessly direct a reply, the stateful transaction layer used to open the transaction from the initial request will not know that you did so, and vice versa, etc etc. -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users