Re: [OpenSIPS-Users] Packet analysis using wireshark

2024-04-06 Thread Alex Balashov
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

2024-04-06 Thread Alex Balashov
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

2024-04-04 Thread Alex Balashov
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

2024-03-24 Thread Alex Balashov
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

2023-11-09 Thread Alex Balashov
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

2022-03-15 Thread Alex Balashov

> 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?

2021-06-28 Thread Alex Balashov
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

2020-07-17 Thread Alex Balashov
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

2020-07-17 Thread Alex Balashov
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

2020-06-16 Thread Alex Balashov
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

2020-06-12 Thread Alex Balashov

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

2020-06-12 Thread Alex Balashov

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

2020-06-12 Thread Alex Balashov
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

2020-06-12 Thread Alex Balashov

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

2020-06-12 Thread Alex Balashov

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

2020-06-12 Thread Alex Balashov
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

2020-06-12 Thread Alex Balashov
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

2020-06-11 Thread Alex Balashov
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

2020-05-28 Thread Alex Balashov

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

2020-03-15 Thread Alex Balashov
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

2019-08-12 Thread Alex Balashov
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

2018-05-01 Thread Alex Balashov
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

2018-02-05 Thread Alex Balashov
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

2017-10-30 Thread Alex Balashov
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

2017-09-07 Thread Alex Balashov
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

2017-09-05 Thread Alex Balashov
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

2017-08-23 Thread Alex Balashov
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

2017-07-20 Thread Alex Balashov
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

2017-07-20 Thread Alex Balashov
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

2017-07-20 Thread Alex Balashov
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

2017-07-20 Thread Alex Balashov
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

2017-04-28 Thread Alex Balashov
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

2017-04-24 Thread Alex Balashov
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

2017-04-24 Thread Alex Balashov
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

2017-04-24 Thread Alex Balashov
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

2017-04-04 Thread Alex Balashov
How do you view Redis? 

On April 4, 2017 4:03:31 AM EDT, Ziv Gabel  wrote:
>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

2017-03-29 Thread Alex Balashov
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 Patel  wrote:
>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

2017-03-16 Thread Alex Balashov
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

2017-03-06 Thread Alex Balashov
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

2016-10-21 Thread Alex Balashov

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

2016-10-21 Thread Alex Balashov
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

2016-10-05 Thread Alex Balashov
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

2016-08-18 Thread Alex Balashov
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

2016-06-28 Thread Alex Balashov

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

2016-06-28 Thread Alex Balashov
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()

2016-05-23 Thread Alex Balashov

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()

2016-05-23 Thread Alex Balashov

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

2016-05-03 Thread Alex Balashov

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

2016-05-02 Thread Alex Balashov

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

2016-05-02 Thread Alex Balashov

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

2016-05-02 Thread Alex Balashov

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

2016-04-20 Thread Alex Balashov

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?

2016-04-12 Thread Alex Balashov
‎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

2016-03-31 Thread Alex Balashov

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 ?

2016-03-31 Thread Alex Balashov
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

2016-03-31 Thread Alex Balashov

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

2016-03-25 Thread Alex Balashov

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 ?

2016-03-21 Thread Alex Balashov

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

2016-03-11 Thread Alex Balashov

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

2016-02-28 Thread Alex Balashov
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

2016-02-28 Thread Alex Balashov
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

2016-02-26 Thread Alex Balashov

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.

2016-02-13 Thread Alex Balashov

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.

2016-02-11 Thread Alex Balashov

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.

2016-02-11 Thread Alex Balashov

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.

2016-02-11 Thread Alex Balashov

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

2016-02-09 Thread Alex Balashov

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

2016-02-05 Thread Alex Balashov
  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

2016-02-04 Thread Alex Balashov

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

2016-02-04 Thread Alex Balashov

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

2016-02-02 Thread Alex Balashov
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

2016-01-31 Thread Alex Balashov

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

2010-03-03 Thread Alex Balashov
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

2010-02-07 Thread Alex Balashov
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

2010-01-21 Thread Alex Balashov
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

2010-01-21 Thread Alex Balashov
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

2010-01-21 Thread Alex Balashov
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

2010-01-21 Thread Alex Balashov
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?

2010-01-14 Thread Alex Balashov
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?

2010-01-06 Thread Alex Balashov
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

2009-12-31 Thread Alex Balashov
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

2009-12-30 Thread Alex Balashov
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?

2009-11-18 Thread Alex Balashov
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?

2009-11-18 Thread Alex Balashov
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

2009-10-30 Thread Alex Balashov
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

2009-10-23 Thread Alex Balashov
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

2009-10-23 Thread Alex Balashov
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

2009-10-21 Thread Alex Balashov
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

2009-10-20 Thread Alex Balashov
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

2009-10-18 Thread Alex Balashov
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

2009-09-26 Thread Alex Balashov
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

2009-09-26 Thread Alex Balashov
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

2009-09-26 Thread Alex Balashov
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.

2009-09-17 Thread Alex Balashov
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.

2009-09-17 Thread Alex Balashov
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.

2009-09-17 Thread Alex Balashov
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

2009-09-10 Thread Alex Balashov
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

2009-09-08 Thread Alex Balashov
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

2009-09-08 Thread Alex Balashov
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

2009-09-08 Thread Alex Balashov
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


  1   2   >