[SIP Beyond VoIP] Issue causes Sylkserver to refuse new connections

Penelope Vennisse studio.pqv9 at gmail.com
Wed Jan 30 16:18:21 CET 2019


We're using SylkServer as an audio conference server for webRTC and SIP
clients. Only the Conference and the WebRTC Gateway applications are
enabled in the config. Our SylkServer version is 5.0.0, checked out from this
GitHub tag
<https://github.com/AGProjects/sylkserver/releases/tag/release-5.0.0>.

Once in several days, we observe the following problem: the CPU usage by
the SylkServer process starts to grow and all the webRTC client connection
attempts fail. After some time (usually a few hours), the following
exception appears in the logs:

ERROR    [sylk.core]     Exception occurred while setting up stream from
> SDP: Could not add audio object to audio mixer: Too many objects of the
> specified type (PJ_ETOOMANY)
> ERROR    [sylk.core]     Traceback (most recent call last):
> ERROR    [sylk.core]       File "/srv/sylkserver/sylk/session.py", line
> 394, in init_incoming
> ERROR    [sylk.core]         stream = stream_type.new_from_sdp(self,
> remote_sdp, index)
> ERROR    [sylk.core]       File
> "/usr/lib/python2.7/dist-packages/sipsimple/streams/rtp/__init__.py", line
> 425, in new_from_sdp
> ERROR    [sylk.core]         stream = cls()
> ERROR    [sylk.core]       File
> "/usr/lib/python2.7/dist-packages/sipsimple/streams/rtp/audio.py", line 24,
> in __init__
> ERROR    [sylk.core]         self.bridge = AudioBridge(self.mixer)
> ERROR    [sylk.core]       File
> "/usr/lib/python2.7/dist-packages/sipsimple/audio.py", line 129, in __init__
> ERROR    [sylk.core]         self.multiplexer.start()
> ERROR    [sylk.core]       File "sipsimple/core/_core.sound.pxi", line
> 1310, in sipsimple.core._core.MixerPort.start (sipsimple/core/_core.c:38212)
> ERROR    [sylk.core]       File "sipsimple/core/_core.sound.pxi", line
> 1307, in sipsimple.core._core.MixerPort.start (sipsimple/core/_core.c:38143)
> ERROR    [sylk.core]       File "sipsimple/core/_core.sound.pxi", line
> 471, in sipsimple.core._core.AudioMixer._add_port
> (sipsimple/core/_core.c:24844)


We've added some logs to the SylkServer and the Python SipSimple library to
clear things up a bit. What we discovered is that during the period when
the connection attempts fail, the number of used audio mixer ports (we were
logging the conf->port_cnt counter in
pjsip/pjmedia/src/pjmedia/conference.c) grows steadily and reaches the
limit (9999) in the end. Right before this period starts there are these
two lines in the logs:

Traceback (most recent call last):
> File "/usr/lib/python2.7/logging/__init__.py", line 861, in emit


This looks like a cropped exception message, but there is nothing more. It
might be that some log message is ill-formatted but we're not sure where to
look for it.

Please let us know if this is a known issue or if you have any advice on
how we could track it down.

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ag-projects.com/pipermail/sipbeyondvoip/attachments/20190130/4b1bedc6/attachment.html>


More information about the SIPBeyondVoIP mailing list