Re: [asterisk-users] Possible handle leak in PJSIP

2014-08-15 Thread Matthew Jordan
On Thu, Aug 14, 2014 at 6:42 PM, CDR vene...@gmail.com wrote:

snip

 The machine has 30 asterisk process, most of them dormant.
 There is no way with 164 active calls we may have 10484 handles allocated.
 I have no idea how to debug this. I suggest that an experienced
 engineer from Digium logs into the box  and researches this problem,
 else nobody is going to ever be able to use PJSIP in production.

No one from Digium will log on to your machine. If you need more
dedicated support than what the mailing list provides, I suggest you
look for someone who is willing to provide technical support for your
systems [1].

snip


 The idea is to bridge calls based on the codec to avoid any
 transcoding, so I have two outbound codecs and I dial like this:

 exten = _X.,1,Set(_SIP_CODEC_OUTBOUND=${CHANNEL(audiowriteformat):0:4})
 exten = _X.,n,Goto(${SIP_CODEC_OUTBOUND})
 exten = _X.,n(ulaw),Dial(PJSIP/alawoutbound/sip:${EXTEN}@X.X.X.X)
 exten = _X.,n(g729),Dial(PJSIP/g729outbound/sip:${EXTEN}@X.X.X.X)

 As you can see, Houston, we have a problem


First, what version of Asterisk are you running? There has been at
least one RTP port leak that was fixed in chan_pjsip that was fixed in
12.4.0 [2]. If you aren't running that version of Asterisk, please
upgrade and test again.

However, if you *are* running 12.4.0 or later, then please open an
issue in the issue tracker - https://issues.asterisk.org/jira.
However, since this may be a file descriptor leak, there are some
additional build options you will need to enable in Asterisk.

1. Run make menuselect
2. Select DEBUG_FD_LEAKS in Compiler Flags
3. Save, exit, and re-build Asterisk

Run Asterisk and reproduce the problem. When you have reproduced the
problem, provide the following on your issue:
* The dialplan that reproduces the problem (which is in this e-mail,
but needs to be attached as a .conf file on the issue for the
developers who look at it)
* Your pjsip.conf
* A FULL debug log illustrating the problem. Instructions on getting
such a log are on the wiki [3]
* Execute the CLI command 'core show fd'. This will dump out all
allocated file descriptors. Attach the output of the command to the
issue as well


[1] http://lists.digium.com/mailman/listinfo/asterisk-biz
[2] https://issues.asterisk.org/jira/browse/ASTERISK-23721
[3] https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

-- 
Matthew Jordan
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com  http://asterisk.org

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] Possible handle leak in PJSIP

2014-08-14 Thread CDR
I have been seeing errors saying the Asterisk cannot establish an RTP
connection, so I did this:
 lsof -i -n -P | grep asterisk | wc -l
10483

but I have only
Asterisk 11 has 1 open calls
Asterisk 12 has 21 open calls
Asterisk 14 has 19 open calls
Asterisk 15 has 22 open calls
Asterisk 16 has 15 open calls
Asterisk 17 has 15 open calls
Asterisk 30 has 71 open calls
Total
164 active calls

The machine has 30 asterisk process, most of them dormant.
There is no way with 164 active calls we may have 10484 handles allocated.
I have no idea how to debug this. I suggest that an experienced
engineer from Digium logs into the box  and researches this problem,
else nobody is going to ever be able to use PJSIP in production.
The box is Fedora 20, fully updated.
It grows about 30 handles per minute and it never goes down.
The dialplan is actually a four liner

look at the audiowritecodec
select an outbound endpoint based on that

The idea is to bridge calls based on the codec to avoid any
transcoding, so I have two outbound codecs and I dial like this:

exten = _X.,1,Set(_SIP_CODEC_OUTBOUND=${CHANNEL(audiowriteformat):0:4})
exten = _X.,n,Goto(${SIP_CODEC_OUTBOUND})
exten = _X.,n(ulaw),Dial(PJSIP/alawoutbound/sip:${EXTEN}@X.X.X.X)
exten = _X.,n(g729),Dial(PJSIP/g729outbound/sip:${EXTEN}@X.X.X.X)

As you can see, Houston, we have a problem

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users