Giter Site home page Giter Site logo

sems's People

Contributors

abdoulosseni avatar alexat avatar alfredh avatar alienka avatar arthur-s avatar camilleoudot avatar carstenbock avatar chocolatbuddha avatar denyspozniak avatar dunst0 avatar furmur avatar guillemj avatar jmillan avatar juha-h avatar kkocaerkek avatar kovacsbalu avatar lemenkov avatar linuxmaniac avatar mslehto avatar nwhitehorn avatar raphaelcoeffic avatar rnewman avatar sanchi avatar scfc avatar sems-sync avatar sobomax avatar stefansayer avatar szokovacs avatar thomassevestre avatar vbroz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sems's Issues

support for sending SIP and RTCP stats to HOMER using HEP

HOMER is a framework for monitoring RTC traffic in different parts of a carrier network.

RTC applications can send copies of the SIP and RTCP messages that they send and receive to HOMER using the HEP protocol

https://github.com/sipcapture/HEP

Asterisk has implemented this for both SIP and RTCP, maybe their code can be used for reference purposes.

For non-encrypted traffic, people can run captagent on the same box as SEMS to sniff the packets off the network. For SIP over TLS and SRTCP, captagent is unable to help and the HEP support has to be implemented natively in SEMS.

Max-Forward is not decreased

We realized that the Max-Forward Header is not decreased when a call is passing the sbc module of sems.

Instead the Header is replaced with a default value (70). This may result in unlimited routing attemps. SEMS should be aware of this header. Can you please provide a patch that will fix this behaviour or give me a hint where I can patch this?

Our Version is Sip Express Media Server (1.7-dev-62-gb28d307-dirty (x86_64/linux))

debug.txt

BR, Bjoern

There is no opus module for CentOS 6.8 in epel

Hello!

How can I install opus module for CentOS 6 ?

[root@sems yum.repos.d]# yum search sems

sems-dsm.i686 : The state machine interpreter for SEMS
sems-g722.i686 : G.722 support for SEMS
sems-gsm.i686 : GSM support for SEMS
sems-ilbc.i686 : iLBC support for SEMS
sems-ivr.i686 : IVR functionality for SEMS
sems-python.i686 : Python bindings for SEMS
sems-speex.i686 : Speex support for SEMS
sems-xmlrpc2di.i686 : XMLRPC interface for SEMS
sems.i686 : SIP Express Media Server, an extensible SIP media server
sems-conf_auth.i686 : Conference with authorization
sems-conference.i686 : Conferencing application
sems-diameter_client.i686 : A simple DIAMETER client implementation
sems-early_announce.i686 : Early announce application
sems-mailbox.i686 : Mailbox application
sems-pin_collect.i686 : Collects a PIN

[SEMS] CANCEL is not being forwarded to b-leg

Hello!
Probably I detected issue with next_hop call rerouting.
SEMS does not forward CANCEL message to b-leg.

image

Sbcprofile settings:
...
next_hop=10.10.10.10/UDP,10.10.10.20/UDP
patch_ruri_next_hop=yes
next_hop_for_replies=yes

Program terminated with signal SIGSEGV, Segmentation fault.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000588641 in trans_bucket::match_request (this=this@entry=0x7f290c446cf0, msg=msg@entry=0x7f28d5283600, ttype=ttype@entry=1) at trans_table.cpp:127
127     trans_table.cpp: No such file or directory.
[Current thread is 1 (Thread 0x7f29024f8700 (LWP 1827))]
(gdb) bt
#0  0x0000000000588641 in trans_bucket::match_request (this=this@entry=0x7f290c446cf0, msg=msg@entry=0x7f28d5283600, ttype=ttype@entry=1) at trans_table.cpp:127
#1  0x00000000005b0cb6 in _trans_layer::process_rcvd_msg (this=this@entry=0x7f290c417640, msg=msg@entry=0x7f28d5283600) at trans_layer.cpp:1676
#2  0x00000000005b2343 in _trans_layer::received_msg (this=0x7f290c417640, msg=msg@entry=0x7f28d5283600) at trans_layer.cpp:1658
#3  0x0000000000593336 in udp_trsp::run (this=0x7f290c415800) at udp_trsp.cpp:381
#4  0x00000000004a54c5 in AmThread::_start (_t=0x7f290c415800) at AmThread.cpp:75
#5  0x00007f290e555007 in start_thread () from /lib/libpthread.so.0
#6  0x00007f290d09b5cd in clone () from /lib/libc.so.6
(gdb) Quit
(gdb) info reg
rax            0x1f40   8000
rbx            0x7f28d4851620   139813340911136
rcx            0x4b623447       1264727111
rdx            0x7      7
rsi            0x7f28e0ad1065   139813544857701
rdi            0x7f28e0ad1065   139813544857701
rbp            0x7f290c446cf0   0x7f290c446cf0
rsp            0x7f29024e2660   0x7f29024e2660
r8             0x7f290c446cf8   139814276197624
r9             0xcfc17e5c       3485564508
r10            0x7f28d006e440   139813265531968
r11            0x7f290d113800   139814289618944
r12            0x7f28d5634a00   139813355473408
r13            0x7f28d5283600   139813351601664
r14            0x7f290c446d28   139814276197672
r15            0x1      1
rip            0x588641 0x588641 <trans_bucket::match_request(sip_msg*, unsigned int)+849>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
(gdb) info locals
branch = 0x7f28e0ad1065 "046d4f48;rport\r\nFrom: \"01058448081\" <sip:[email protected]:6069>;tag=as5f18c46a\r\nTo: <sip:[email protected]:6069>\r\nContact: <sip:[email protected]:6069>\r\nCall-ID: 69a395ec06c03"...
it = {_M_node = 0x7f28d4851620}
__FUNCTION__ = "match_request"
__PRETTY_FUNCTION__ = "sip_trans* trans_bucket::match_request(sip_msg*, unsigned int)"
do_3261_match = <optimized out>
t = 0x0
(gdb) up
#1  0x00000000005b0cb6 in _trans_layer::process_rcvd_msg (this=this@entry=0x7f290c417640, msg=msg@entry=0x7f28d5283600) at trans_layer.cpp:1676
1676    trans_layer.cpp: No such file or directory.
(gdb) info locals
__PRETTY_FUNCTION__ = "void _trans_layer::process_rcvd_msg(sip_msg*)"
bucket = 0x7f290c446cf0
err = 0
__FUNCTION__ = "process_rcvd_msg"
h = <optimized out>
t = 0x0
(gdb) info reg
rax            0x1f40   8000
rbx            0x7f28d5283600   139813351601664
rcx            0x4b623447       1264727111
rdx            0x7      7
rsi            0x7f28e0ad1065   139813544857701
rdi            0x7f28e0ad1065   139813544857701
rbp            0x7f290c446cf0   0x7f290c446cf0
rsp            0x7f29024e3720   0x7f29024e3720
r8             0x7f290c446cf8   139814276197624
r9             0xcfc17e5c       3485564508
r10            0x7f28d006e440   139813265531968
r11            0x7f290d113800   139814289618944
r12            0x7f290c446cf8   139814276197624
r13            0x7f290c417640   139814276003392
r14            0x7f28d5283600   139813351601664
r15            0x7f2909a14ca0   139814231952544
rip            0x5b0cb6 0x5b0cb6 <_trans_layer::process_rcvd_msg(sip_msg*)+838>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
(gdb) up
#2  0x00000000005b2343 in _trans_layer::received_msg (this=0x7f290c417640, msg=msg@entry=0x7f28d5283600) at trans_layer.cpp:1658
1658    in trans_layer.cpp
(gdb) info locals
err_msg = 0x0
err = 0
__FUNCTION__ = "received_msg"
(gdb) info reg
rax            0x1f40   8000
rbx            0x7f28d5283600   139813351601664
rcx            0x4b623447       1264727111
rdx            0x7      7
rsi            0x7f28e0ad1065   139813544857701
rdi            0x7f28e0ad1065   139813544857701
rbp            0x0      0x0
rsp            0x7f29024e47e0   0x7f29024e47e0
r8             0x7f290c446cf8   139814276197624
r9             0xcfc17e5c       3485564508
r10            0x7f28d006e440   139813265531968
r11            0x7f290d113800   139814289618944
r12            0x7f290c417640   139814276003392
r13            0x812544 8463684
r14            0x7f28d5283600   139813351601664
r15            0x7f2909a14ca0   139814231952544
rip            0x5b2343 0x5b2343 <_trans_layer::received_msg(sip_msg*)+179>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
(gdb) up
#3  0x0000000000593336 in udp_trsp::run (this=0x7f290c415800) at udp_trsp.cpp:381
381     udp_trsp.cpp: No such file or directory.
(gdb) info locals
sa = <optimized out>
s_msg = 0x7f28d5283600
buf = "INVITE sip:[email protected]:6069 SIP/2.0\r\nVia: SIP/2.0/UDP 172.16.144.23:6069;branch=z9hG4bK046d4f48;rport\r\nFrom: \"01058448081\" <sip:[email protected]:6069>;tag=as5f18c46a\r\nTo: <sip:0"...
buf_len = <optimized out>
msg = {msg_name = 0x7f29024e5950, msg_namelen = 16, msg_iov = 0x7f29024e58f0, msg_iovlen = 1, msg_control = 0x7f2909a14c80, msg_controllen = 32, msg_flags = 0}
__FUNCTION__ = "run"
cmsgptr = <optimized out>
from_addr = {ss_family = 2, __ss_align = 0, __ss_padding = '\000' <repeats 111 times>}
iov = {{iov_base = 0x7f29024e6de0, iov_len = 65535}}
(gdb) info reg
rax            0x1f40   8000
rbx            0x7f290c415800   139814275995648
rcx            0x4b623447       1264727111
rdx            0x7      7
rsi            0x7f28e0ad1065   139813544857701
rdi            0x7f28e0ad1065   139813544857701
rbp            0x812138 0x812138 <singleton<_trans_layer>::_instance>
rsp            0x7f29024e5880   0x7f29024e5880
r8             0x7f290c446cf8   139814276197624
r9             0xcfc17e5c       3485564508
r10            0x7f28d006e440   139813265531968
r11            0x7f290d113800   139814289618944
r12            0x7f29024e5de0   139814109076960
r13            0x812544 8463684
r14            0x7f28d5283600   139813351601664
r15            0x7f2909a14ca0   139814231952544
rip            0x593336 0x593336 <udp_trsp::run()+1494>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
(gdb) up
#4  0x00000000004a54c5 in AmThread::_start (_t=0x7f290c415800) at AmThread.cpp:75
75      AmThread.cpp: No such file or directory.
(gdb) info locals
_this = 0x7f290c415800
__FUNCTION__ = "_start"
(gdb) info reg
rax            0x1f40   8000
rbx            0x7f290c415800   139814275995648
rcx            0x4b623447       1264727111
rdx            0x7      7
rsi            0x7f28e0ad1065   139813544857701
rdi            0x7f28e0ad1065   139813544857701
rbp            0x812544 0x812544 <log_level>
rsp            0x7f29024f6e20   0x7f29024f6e20
r8             0x7f290c446cf8   139814276197624
r9             0xcfc17e5c       3485564508
r10            0x7f28d006e440   139813265531968
r11            0x7f290d113800   139814289618944
r12            0x7ffcd6c8f8e0   140723911981280
r13            0x7ffcd6c8f827   140723911981095
r14            0x1000   4096
r15            0x7f29023f8000   139814108102656
rip            0x4a54c5 0x4a54c5 <AmThread::_start(void*)+53>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
(gdb) up
#5  0x00007f290e555007 in start_thread () from /lib/libpthread.so.0
(gdb) info locals
No symbol table info available.
(gdb) info reg
rax            0x1f40   8000
rbx            0x7f29024f8700   139814109153024
rcx            0x4b623447       1264727111
rdx            0x7      7
rsi            0x7f28e0ad1065   139813544857701
rdi            0x7f28e0ad1065   139813544857701
rbp            0x0      0x0
rsp            0x7f29024f7ea0   0x7f29024f7ea0
r8             0x7f290c446cf8   139814276197624
r9             0xcfc17e5c       3485564508
r10            0x7f28d006e440   139813265531968
r11            0x7f290d113800   139814289618944
r12            0x7ffcd6c8f8e0   140723911981280
r13            0x7ffcd6c8f827   140723911981095
r14            0x1000   4096
r15            0x7f29023f8000   139814108102656
rip            0x7f290e555007   0x7f290e555007 <start_thread+368>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
(gdb) up
#6  0x00007f290d09b5cd in clone () from /lib/libc.so.6
(gdb) info locals
No symbol table info available.
(gdb) info reg
rax            0x1f40   8000
rbx            0x7f29024f8700   139814109153024
rcx            0x4b623447       1264727111
rdx            0x7      7
rsi            0x7f28e0ad1065   139813544857701
rdi            0x7f28e0ad1065   139813544857701
rbp            0x0      0x0
rsp            0x7f29024f7f40   0x7f29024f7f40
r8             0x7f290c446cf8   139814276197624
r9             0xcfc17e5c       3485564508
r10            0x7f28d006e440   139813265531968
r11            0x7f290d113800   139814289618944
r12            0x7ffcd6c8f8e0   140723911981280
r13            0x7ffcd6c8f827   140723911981095
r14            0x1000   4096
r15            0x7f29023f8000   139814108102656
rip            0x7f290d09b5cd   0x7f290d09b5cd <clone+109>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0

SEMS cannot start on Centos server 7 with sbc module

Hi

i install sems from epel repo and i just use the default config of sems to start sems

but i get error "/usr/lib64/sems/plug-in//sbc.so: undefined symbol: _ZTI14_RegisterCache" and sems cannot start

[26032//builddir/build/BUILD/sems-1.6.0/core/AmPlugIn.cpp:281] DEBUG: using RTLD_NOW | RTLD_GLOBAL to dlopen '/usr/lib64/sems/plug-in//sbc.so'
[26032//builddir/build/BUILD/sems-1.6.0/core/AmPlugIn.cpp:298] ERROR: AmPlugIn::loadPlugIn: /usr/lib64/sems/plug-in//sbc.so: /usr/lib64/sems/plug-in//sbc.so: undefined symbol: _ZTI14_RegisterCache
[26032//builddir/build/BUILD/sems-1.6.0/core/AmPlugIn.cpp:206] ERROR: while loading plug-in '/usr/lib64/sems/plug-in//sbc.so'

how to fix it

sems: 1.7.0-dev Call-ID generation not UUID like described in docs

Is there something special to know? Because for me the generate Call-ID is not like described in docs with UUID.

Call-ID: 27074B0D-59B176EF00068875-8636A700

sems/doc/Readme.sbc.txt

Lines 277 to 278 in 942da3d

If Call-ID is not set, a standard unique ID is generated by SEMS, of the form
UUID@host-ip.

# uname -a
Linux media1.voice.dev.host 3.10.0-514.21.2.el7.x86_64 #1 SMP Tue Jun 20 12:24:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Its a CentOS.
# sems -v
Sip Express Media Server (1.7.0-dev (x86_64/Linux))

clang++ warning -Wundefined-bool-conversion

New warning found with clang++ version greater than 3.4

OS: FreeBSD 10.1
compiler: clang++ 3.6.1 (3.4.1 does not give same warning)

$ clang++36 -MMD -Wall -Wno-reorder -Wno-unused -fPIC -g   -O2  -D_DEBUG -D_THREAD_SAFE -D_REENTRANT -DSEMS_VERSION='"1.6-dev-1270-gf634b1d-dirty"' -DARCH='"x86"' -DOS='"freebsd"' -DSYSTEM_SAMPLECLOCK_RATE=32000LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -I/usr/local/include -I ../../core  -c DSMCall.cpp -o DSMCall.o
DSMCall.cpp:112:35: warning: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true
      [-Wundefined-bool-conversion]
  avar[DSM_AVAR_REQUEST] = AmArg(&req);
                           ~~~~~  ^~~
1 warning generated.
$ clang++36 -v
clang version 3.6.1 (tags/RELEASE_361/final)
Target: i386-portbld-freebsd10.1
Thread model: posix

Sems 1.7-dev memory leak

We are running into a fairly serious memory leak in the latest version of SEMS (1.7 dev). Recently updated to latest commit today, the leak is still happening. Can you suggest how we can begin diagnosing this?

sems 1.7-dev: voicemail and voicebox, error if BYE from client send

If client sends BYE to voicemail or voicebox app, sems complains no transaction found, but bevor that he said in the logs that he found is.

 [#7faaa33f3700/17600] [onSipRequest, AmSession.cpp:694] DEBUG:  onSipRequest: method = BYE
 [#7faaa33f3700/17600] [reply, AmBasicSipDialog.cpp:615] DEBUG:  reply: transaction found!
[#7faaa33f3700/17600] [setStatus, AmBasicSipDialog.cpp:84] DEBUG:  setting SIP dialog status: Disconnecting->Disconnected
 [#7faaa33f3700/17600] [reply, AmBasicSipDialog.cpp:607] ERROR:  could not find any transaction matching request cseq
 [#7faaa33f3700/17600] [reply, AmBasicSipDialog.cpp:611] ERROR:  request cseq=2702; reply code=200; callid=LkLa0EgM6tEyhIK278jsSXXcRPJE2JgH; local_tag=00683F33-581A2A4D00056023-C0943700; remote_tag=wyLfuxj3HJ.RFBGUSKXHGvhrpmok7dl6
  [#7faac0943700/17575] [run, udp_trsp.cpp:352] DEBUG: vv M [|] u recvd msg via UDP from proxy.de:5060 vv
--++--
BYE sip:sems.de:5070;transport=udp SIP/2.0
Via: SIP/2.0/UDP proxy.de;branch=z9hG4bK1bac.43d4b7a57465083433d5abbdb4287896.0
Via: SIP/2.0/UDP lb.de;branch=z9hG4bK1bac.61d9941f0a8b4a0d12fdb69e47dc09e5.0
Via: SIP/2.0/UDP x.x.x.x:60812;received=x.x.x.x;rport=60812;branch=z9hG4bKPj1ywYMWkROO728KS4DfYaQqlHNN4XRDa3
Max-Forwards: 68
From: "1000" <sip:[email protected]>;tag=wyLfuxj3HJ.RFBGUSKXHGvhrpmok7dl6
To: <sip:[email protected]>;tag=00683F33-581A2A4D00056023-C0943700
Call-ID: LkLa0EgM6tEyhIK278jsSXXcRPJE2JgH
CSeq: 2702 BYE
User-Agent: blabla
Content-Length:  0

--++--
 [#7faac0943700/17575] [parse_sip_uri, parse_uri.cpp:338] DEBUG:  Converted URI port (5070) to int (5070)
 [#7faac0943700/17575] [parse_via_params, parse_via.cpp:521] DEBUG:  parsed branch: z9hG4bK1bac.43d4b7a57465083433d5abbdb4287896.0
 [#7faac0943700/17575] [parse_via_params, parse_via.cpp:544] DEBUG:  has_rport: 0
 [#7faac0943700/17575] [match_request, trans_table.cpp:99] DEBUG:  Matching BYE request
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:765] DEBUG:  Received new request from <proxy.de:5060/udp> on intf #1
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:769] DEBUG:  req.method = <BYE>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:772] DEBUG:  req.r_uri = <sip:sems.de:5070;transport=udp>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:773] DEBUG:  req.from_uri = <sip:[email protected]>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:774] DEBUG:  req.from = <"1000" <sip:[email protected]>>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:775] DEBUG:  req.to = <<sip:[email protected]>;tag=00683F33-581A2A4D00056023-C0943700>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:776] DEBUG:  req.callid = <LkLa0EgM6tEyhIK278jsSXXcRPJE2JgH>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:777] DEBUG:  req.from_tag = <wyLfuxj3HJ.RFBGUSKXHGvhrpmok7dl6>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:778] DEBUG:  req.to_tag = <00683F33-581A2A4D00056023-C0943700>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:779] DEBUG:  cseq = <2702>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:780] DEBUG:  req.route = <>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:781] DEBUG:  hdrs = <User-Agent: blabla
>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:782] DEBUG:  body-ct = <>
 [#7faac0943700/17575] [handle_sip_request, SipCtrlInterface.cpp:788] DEBUG:  ^^ M [LkLa0EgM6tEyhIK278jsSXXcRPJE2JgH|00683F33-581A2A4D00056023-C0943700] Ru SIP request BYE handled ^^
 [#7faaa33f3700/17600] [processingCycle, AmSession.cpp:346] DEBUG:  vv S [LkLa0EgM6tEyhIK278jsSXXcRPJE2JgH|00683F33-581A2A4D00056023-C0943700] Connected, running, 0 UACTransPending, 0 usages vv
 [#7faaa33f3700/17600] [process, AmSession.cpp:638] DEBUG:  AmSession processing event
 [#7faaa33f3700/17600] [onRxRequest, AmBasicSipDialog.cpp:326] DEBUG:  AmBasicSipDialog::onRxRequest(req = BYE)
 [#7faaa33f3700/17600] [setStatus, AmBasicSipDialog.cpp:84] DEBUG:  setting SIP dialog status: Connected->Disconnecting
 [#7faaa33f3700/17600] [onSipRequest, AmSession.cpp:694] DEBUG:  onSipRequest: method = BYE
 [#7faaa33f3700/17600] [reply, AmBasicSipDialog.cpp:615] DEBUG:  reply: transaction found!
 [#7faaa33f3700/17600] [setStatus, AmBasicSipDialog.cpp:84] DEBUG:  setting SIP dialog status: Disconnecting->Disconnected
 [#7faaa33f3700/17600] [is_opt_set, transport.cpp:76] DEBUG:  trsp_socket::socket_options = 0x0
 [#7faaa33f3700/17600] [send_reply, trans_layer.cpp:413] DEBUG:  reply_len = 575
 [#7faaa33f3700/17600] [is_opt_set, transport.cpp:76] DEBUG:  trsp_socket::socket_options = 0x0
 [#7faaa33f3700/17600] [is_opt_set, transport.cpp:76] DEBUG:  trsp_socket::socket_options = 0x0
 [#7faaa33f3700/17600] [send_reply, trans_layer.cpp:588] DEBUG:  Sending to proxy.de:5060 <SIP/2.0 200 OK
Via: SIP/2.0/UDP proxy.de;bran...>
 [#7faaa33f3700/17600] [send, udp_trsp.cpp:259] DEBUG: send  msg to proxy.de:5060
--++--
SIP/2.0 200 OK
Via: SIP/2.0/UDP proxy.de;branch=z9hG4bK1bac.43d4b7a57465083433d5abbdb4287896.0
Via: SIP/2.0/UDP lb.de;branch=z9hG4bK1bac.61d9941f0a8b4a0d12fdb69e47dc09e5.0
Via: SIP/2.0/UDP x.x.x.x:60812;received=x.x.x.x;rport=60812;branch=z9hG4bKPj1ywYMWkROO728KS4DfYaQqlHNN4XRDa3
From: "1000" <sip:[email protected]>;tag=wyLfuxj3HJ.RFBGUSKXHGvhrpmok7dl6
To: <sip:[email protected]>;tag=00683F33-581A2A4D00056023-C0943700
Call-ID: LkLa0EgM6tEyhIK278jsSXXcRPJE2JgH
CSeq: 2702 BYE
Server: blabla
Content-Length: 0

--++--
 [#7faaa33f3700/17600] [update_uas_reply, trans_layer.cpp:2139] DEBUG:  update_uas_reply(t=0x7faaa8002fc0)
 [#7faaa33f3700/17600] [reset_timer, sip_trans.cpp:247] DEBUG:  New timer of type J at time=3051 (repeated=0)
 [#7faaa33f3700/17600] [reply, AmBasicSipDialog.cpp:607] ERROR:  could not find any transaction matching request cseq
 [#7faaa33f3700/17600] [reply, AmBasicSipDialog.cpp:611] ERROR:  request cseq=2702; reply code=200; callid=LkLa0EgM6tEyhIK278jsSXXcRPJE2JgH; local_tag=00683F33-581A2A4D00056023-C0943700; remote_tag=wyLfuxj3HJ.RFBGUSKXHGvhrpmok7dl6
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(0/[0x4e18bd]): sems(log_stacktrace+0x2d) [0x4e18bd]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(1/[0x4f60d2]): sems(_ZN16AmBasicSipDialog5replyERK12AmSipRequestjRKSsPK10AmMimeBodyS4_i+0x962) [0x4f60d2]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(2/[0x7faac502ef07]): /usr/local/lib/sems/plug-in/voicemail.so(_ZN19AnswerMachineDialog5onByeERK12AmSipRequest+0x77) [0x7faac502ef07]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(3/[0x483e72]): sems(_ZN9AmSession12onSipRequestERK12AmSipRequest+0x172) [0x483e72]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(4/[0x4f7e8e]): sems(_ZN16AmBasicSipDialog11onRxRequestERK12AmSipRequest+0x68e) [0x4f7e8e]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(5/[0x47fb54]): sems() [0x47fb54]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(6/[0x7faac502ed6b]): /usr/local/lib/sems/plug-in/voicemail.so(_ZN19AnswerMachineDialog7processEP7AmEvent+0x1db) [0x7faac502ed6b]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(7/[0x49fabc]): sems(_ZN12AmEventQueue13processEventsEv+0x4c) [0x49fabc]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(8/[0x482846]): sems(_ZN9AmSession28processEventsCatchExceptionsEv+0x16) [0x482846]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(9/[0x481fb1]): sems(_ZN9AmSession15processingCycleEv+0x271) [0x481fb1]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(10/[0x47ed41]): sems(_ZN9AmSession3runEv+0x51) [0x47ed41]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(11/[0x49ba75]): sems(_ZN8AmThread6_startEPv+0x35) [0x49ba75]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(12/[0x7faac6a7fdc5]): /lib64/libpthread.so.0(+0x7dc5) [0x7faac6a7fdc5]
 [#7faaa33f3700/17600] [log_stacktrace, log.cpp:218] ERROR: stack-trace(13/[0x7faac5c2a28d]): /lib64/libc.so.6(clone+0x6d) [0x7faac5c2a28d]

ZRTP compile problem

Hello Everyone,
Trying build rpms and having trouble with ZRTP plugin.
Compile failing here are.
Any help thank you.

Compile options

+ cd /home/volga629/rpmbuild/BUILD
+ cd sems-1.6.1
+ /usr/bin/cmake -DSEMS_USE_SPANDSP=yes -DSEMS_USE_LIBSAMPLERATE=yes -DSEMS_USE_ZRTP=yes -DSEMS_USE_MP3=NO -DSEMS_USE_ILBC=yes -DSEMS_USE_TTS=yes -DSEMS_USE_OPENSSL=yes -DSEMS_USE_MONITORING=yes -DSEMS_USE_IPV6=yes -DSEMS_CFG_PREFIX= -DSEMS_AUDIO_PREFIX=/usr/share -DSEMS_EXEC_PREFIX=/usr -DSEMS_LIBDIR=lib64 -DSEMS_DOC_PREFIX=/usr/share/doc
-- The C compiler identification is GNU 6.3.1
-- The CXX compiler identification is GNU 6.3.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring SEMS v. 1.7.0-dev
-- SEMS cfg prefix was set to: 
-- SEMS audio prefix was set to: /usr/share
-- SEMS exec prefix was set to: /usr
-- SEMS libdir was set to: lib64
-- SEMS doc prefix was set to: /usr/share/doc
-- Found libevent2 includes: /usr/include/event2/event.h
-- Found libevent2 library: /usr/lib64/libevent.so
-- Found spandsp includes:	/usr/include/spandsp.h
-- Found spandsp library: /usr/lib64/libspandsp.so
-- Using spandsp: YES
-- Found libsamplerate includes:	/usr/include/samplerate.h
-- Found libsamplerate library: /usr/lib64/libsamplerate.so
-- Using libsamplerate: YES
-- Found libzrtp includes:	/usr/include/libzrtp/zrtp/zrtp.h
-- Found libzrtp library: /usr/lib64/libzrtp.a
-- Using libzrtp: YES
-- Using lame mp3: NO (default)
-- Found ilbc includes:	/usr/include/ilbc.h
-- Found ilbc library: /usr/lib64/libilbc.so
-- Using iLBC library: YES (external)
-- Enable monitoring: YES
-- Enable IPv6 support: YES
-- Found gsm includes:	/usr/include/gsm.h
-- Found gsm library: /usr/lib64/libgsm.so
-- Using gsm: YES
-- Found speex includes:	/usr/include/speex/speex.h
-- Found speex library: /usr/lib64/libspeex.so
-- Using speex: YES
-- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.2k") 
-- Found OpenSSL includes:	/usr/include/openssl/ssl.h
-- Found OpenSSL library: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so
-- Using OpenSSL: YES
-- Found PythonLibs: /usr/lib64/libpython3.5m.so (found version "3.5.3") 
-- Found Python includes:	/usr/include/python3.5m/Python.h
-- Found Python library: /usr/lib64/libpython3.5m.so
-- Using Python: YES
-- Using SIP: NO
-- Found mysql++ includes:	/usr/include/mysql++/mysql++.h
-- Found mysql++ library: /usr/lib64/libmysqlpp.so
-- Using MySQL++: YES
-- Found flite includes:	/usr/include/flite/flite.h
-- Found flite library: /usr/lib64/libflite.so
-- Using text-to-speech: YES
-- Found mISDN includes:	/usr/include/mISDNuser/mISDNlib.h
-- Found mISDN library: /usr/lib64/libmISDN.so
-- Using mISDN: YES
-- Using libev: NO
-- Using librtmp: NO
-- Looking for res_search
-- Looking for res_search - found
-- Have res_search: 1
-- Configuring done
-- Generating done
-- Build files have been written to: /home/volga629/rpmbuild/BUILD/sems-1.6.1
+ make -j3
[ 49%] Building CXX object core/CMakeFiles/sems.dir/AmZRTP.o
cd /home/volga629/rpmbuild/BUILD/sems-1.6.1/core && /usr/bin/c++   -DBUILD_DEFAULT_CACHE -DBUILD_DEFAULT_TIMER -DBUILD_ZRTP_MUTEXES -DLOG_BUFFER_LEN=2048 -DMYSQLPP_MYSQL_HEADERS_BURIED -DPROPAGATE_COREDUMP_SETTINGS -DSUPPORT_IPV6 -DSYSTEM_SAMPLECLOCK_RATE=32000LL -DUNIX -DUSE_LIBSAMPLERATE -DUSE_MONITORING -DUSE_SPANDSP -DWITH_ZRTP -D__STDC_LIMIT_MACROS -I/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/ampi -I/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/amci -I/home/volga629/rpmbuild/BUILD/sems-1.6.1/core  -D_THREAD_SAFE -D_REENTRANT -Wall -Wno-reorder -fPIC -g -O2   -DSEMS_VERSION=\"1.7.0-dev\" -DARCH=\"x86_64\" -DOS=\"Linux\" -DSEMS_APP_NAME=\"sems\" -o CMakeFiles/sems.dir/AmZRTP.o -c /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmConfig.h:32:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmUtils.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmDtmfDetector.h:414:8: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   std::auto_ptr<AmInbandDtmfDetector> m_inbandDetector;
        ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmConfig.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmUtils.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmConfig.h:35:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmUtils.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmAudio.h:259:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<AmAudioFormat> fmt;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmConfig.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmUtils.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmConfig.h:35:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmUtils.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmAudio.h:262:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<AmResamplingState> input_resampling_state;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmConfig.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmUtils.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmConfig.h:35:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmUtils.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmAudio.h:263:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<AmResamplingState> output_resampling_state;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmConfig.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmUtils.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:242:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<const SdpPayload> remote_telephone_event_pt;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:243:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<const SdpPayload> local_telephone_event_pt;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpAudio.h:31:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:34,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmAudio.h:259:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<AmAudioFormat> fmt;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpAudio.h:31:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:34,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmAudio.h:262:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<AmResamplingState> input_resampling_state;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpAudio.h:31:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:34,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmAudio.h:263:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<AmResamplingState> output_resampling_state;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:34:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpAudio.h:101:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<AmPlayoutBuffer> playout_buffer;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:34:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpAudio.h:106:10: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
     std::auto_ptr<LowcFE>       fec;
          ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:35:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmDtmfDetector.h:414:8: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   std::auto_ptr<AmInbandDtmfDetector> m_inbandDetector;
        ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:0:
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:130:3: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   auto_ptr<AmRtpAudio> _rtp_str;
   ^~~~~~~~
In file included from /usr/include/c++/6.3.1/memory:81:0,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSdp.h:36,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmRtpStream.h:32,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmSession.h:31,
                 from /home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:32:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp: In static member function 'static int AmZRTP::init()':
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:120:29: error: 'zrtp_config_t {aka struct zrtp_config_t}' has no member named 'zid'
   memcpy((char*)zrtp_config.zid, (char*)zrtp_instance_zid, sizeof(zrtp_zid_t));
                             ^~~
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:123:23: error: 'zrtp_config_t {aka struct zrtp_config_t}' has no member named 'cache_file_cfg'
   strncpy(zrtp_config.cache_file_cfg.cache_path, cache_path.c_str(), 256);
                       ^~~~~~~~~~~~~~
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp: In member function 'int AmZRTPSessionState::initSession(AmSession*)':
/home/volga629/rpmbuild/BUILD/sems-1.6.1/core/AmZRTP.cpp:178:23: error: cannot convert 'zrtp_signaling_role_t' to 'unsigned char*' for argument '3' to 'zrtp_status_t zrtp_session_init(zrtp_global_t*, zrtp_profile_t*, unsigned char*, zrtp_signaling_role_t, zrtp_session_t**)'
          &zrtp_session);
                       ^
core/CMakeFiles/sems.dir/build.make:1505: recipe for target 'core/CMakeFiles/sems.dir/AmZRTP.o' failed
make[2]: *** [core/CMakeFiles/sems.dir/AmZRTP.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/volga629/rpmbuild/BUILD/sems-1.6.1'
CMakeFiles/Makefile2:90: recipe for target 'core/CMakeFiles/sems.dir/all' failed
make[1]: *** [core/CMakeFiles/sems.dir/all] Error 2
make[1]: Leaving directory '/home/volga629/rpmbuild/BUILD/sems-1.6.1'
Makefile:130: recipe for target 'all' failed
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.ZSLwnX (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.ZSLwnX (%build)

request for sems opus rpm centos 7

Hi

there is no sems opus codec for rpm package

this is the yum search sems --enablerepo epel-testing
sems-dsm.x86_64 : The state machine interpreter for SEMS
sems-g722.x86_64 : G.722 support for SEMS
sems-gsm.x86_64 : GSM support for SEMS
sems-ilbc.x86_64 : iLBC support for SEMS
sems-ivr.x86_64 : IVR functionality for SEMS
sems-speex.x86_64 : Speex support for SEMS
sems-xmlrpc2di.x86_64 : XMLRPC interface for SEMS
sems.x86_64 : SIP Express Media Server, an extensible SIP media server
sems-conf_auth.x86_64 : Conference with authorization
sems-conference.x86_64 : Conferencing application
sems-diameter_client.x86_64 : A simple DIAMETER client implementation
sems-early_announce.x86_64 : Early announce application
sems-mailbox.x86_64 : Mailbox application
sems-pin_collect.x86_64 : Collects a PIN

it would be greate to have the sems-opus package

thank you

1.6.0 build warnings

g++ -MMD -c -o tcp_trsp.o tcp_trsp.cpp -D_FORTIFY_SOURCE=2 -DHAVE_XMLRPCPP_SSL -D_DEBUG -D_THREAD_SAFE -D_REENTRANT -DSEMS_VERSION='"1.6.0"' -DARCH='"x86_64"' -DOS='"linux"' -DSYSTEM_SAMPLECLOCK_RATE=32000LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -DPROPAGATE_COREDUMP_SETTINGS -I. -fno-strict-aliasing -DUSE_INTERNAL_RESAMPLER -DUSE_SPANDSP -D__STDC_LIMIT_MACROS -I.. -fno-strict-aliasing -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-reorder -Wno-unused -fPIC -g   -O2
tcp_trsp.cpp: In member function 'virtual void tcp_server_worker::run()':
tcp_trsp.cpp:573:17: warning: ignoring return value of 'int pipe(int*)', declared with attribute warn_unused_result [-Wunused-result]
   pipe(fake_fds);
g++ -MMD -c -o AmRtpReceiver.o AmRtpReceiver.cpp -D_FORTIFY_SOURCE=2 -DHAVE_XMLRPCPP_SSL -D_DEBUG -D_THREA
D_SAFE -D_REENTRANT -DSEMS_VERSION='"1.6.0"' -DARCH='"x86_64"' -DOS='"linux"' -DSYSTEM_SAMPLECLOCK_RATE=32
000LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -DPROPAGATE_COREDUMP_SETTINGS -I. -fno-strict-aliasing -DU
SE_INTERNAL_RESAMPLER -DUSE_SPANDSP -D__STDC_LIMIT_MACROS -g -O2 -fstack-protector-strong -Wformat -Werror
=format-security -Wall -Wno-reorder -Wno-unused -fPIC -g   -O2
AmRtpReceiver.cpp: In member function 'virtual void AmRtpReceiverThread::run()':
AmRtpReceiver.cpp:92:17: warning: ignoring return value of 'int pipe(int*)', declared with attribute warn_unused_result [-Wunused-result]
   pipe(fake_fds);
g++ -MMD -c -o sems.o sems.cpp -D_FORTIFY_SOURCE=2 -DHAVE_XMLRPCPP_SSL -D_DEBUG -D_THREAD_SAFE -D_REENTRANT -DSEMS_VERSION='"1.6.0"' -DARCH='"x86_64"' -DOS='"linux"' -DSYSTEM_SAMPLECLOCK_RATE=32000LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -DPROPAGATE_COREDUMP_SETTINGS -I. -fno-strict-aliasing -DUSE_INTERNAL_RESAMPLER -DUSE_SPANDSP -D__STDC_LIMIT_MACROS -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-reorder -Wno-unused -fPIC -g   -O2
sems.cpp: In function 'int main(int, char**)':
sems.cpp:505:45: warning: ignoring return value of 'ssize_t read(int, void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
         (void)read(fd[0], &pid, sizeof(int));
                                             ^
sems.cpp:521:49: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
       (void)write(fd[1], &main_pid, sizeof(int));
                                                 ^
sems.cpp:629:47: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
     (void)write(fd[1], &main_pid, sizeof(int));
                                               ^
sems.cpp:671:48: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
      (void)write(fd[1], &main_pid, sizeof(int));
g++ -MMD -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-reorder -Wno-unused -fPIC -g   -O2 -DMOD_NAME=\"jsonrpc\" -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -DHAVE_XMLRPCPP_SSL -D_DEBUG -D_THREAD_SAFE -D_REENTRANT -DSEMS_VERSION='"1.6.0"' -DARCH='"x86_64"' -DOS='"linux"' -DSYSTEM_SAMPLECLOCK_RATE=32000LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -DPROPAGATE_COREDUMP_SETTINGS -I ../../core -DMOD_NAME=\"jsonrpc\" -fno-strict-aliasing -c RpcServerLoop.cpp -o RpcServerLoop.o
In file included from /usr/include/x86_64-linux-gnu/bits/socket.h:27:0,
                 from /usr/include/x86_64-linux-gnu/sys/socket.h:38,
                 from /usr/include/netinet/in.h:23,
                 from ../../core/AmSdp.h:34,
                 from ../../core/AmConfig.h:31,
                 from ../../core/AmApi.h:34,
                 from JsonRPC.h:32,
                 from RpcServerLoop.cpp:32:
RpcServerLoop.cpp: In function 'void read_cb(ev_loop*, ev_io*, int)':
RpcServerLoop.cpp:110:57: warning: invalid access to non-static data member 'JsonrpcNetstringsConnection::ev_read'  of NULL object [-Winvalid-offsetof]
      (((char*)w) - offsetof(JsonrpcNetstringsConnection,ev_read)));
                                                         ^
RpcServerLoop.cpp:110:57: warning: (perhaps the 'offsetof' macro was used incorrectly) [-Winvalid-offsetof]
g++ -MMD -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-reorder -Wno-unused -
fPIC -g   -O2  -DMOD_NAME=\"mod_sys\" -I../.. -D_FORTIFY_SOURCE=2 -DHAVE_XMLRPCPP_SSL -D_DEBUG -D_THREAD_S
AFE -D_REENTRANT -DSEMS_VERSION='"1.6.0"' -DARCH='"x86_64"' -DOS='"linux"' -DSYSTEM_SAMPLECLOCK_RATE=32000
LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -DPROPAGATE_COREDUMP_SETTINGS -I ../../core  -I ../../../../c
ore -DMOD_NAME=\"mod_sys\" -I../.. -c ModSys.cpp -o ModSys.o
gcc -o mod_sys.so ModSys.o   -shared -Wl,-z,relro -lm -ldl -rdynamic -lpthread -lstdc++   
ModSys.o: In function `SCTmpNamAction::execute(AmSession*, DSMSession*, DSMCondition::EventType, std::map<
std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string>
 > >*)':
/tmp/buildd/sems-1.6.0/apps/dsm/mods/mod_sys/ModSys.cpp:253: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
cp mod_sys.so ../../mods/lib/mod_sys.so

Echo App: ERROR: decode() returned 0

Hello,
I try to test "echo" app.

Kamailio configuration:
remove_hf("P-App-Name"); append_hf("P-App-Name: echo\r\n");

Sems Version:
Sip Express Media Server (1.6.0 (x86_64/linux))

For each call, I got this log:
[receive, AmRtpAudio.cpp:212] ERROR: decode() returned 0

Here is my Invite from the SIP phone:
`INVITE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP x.x.x.x;branch=z9hG4bKa458.45736f6696f19ac67a314a0ec90f8911.0;i=a61
From: sip:[email protected];tag=NjHoESHr
To: "200" sip:[email protected]
CSeq: 20 INVITE
Call-ID: i
IDgzXk8C
Max-Forwards: 69
Supported: replaces, outbound
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO, UPDATE
Content-Type: application/sdp
Content-Length: 384
User-Agent: Africallshop_iPhone.SE_iOS11.4/4ec3330 (belle-sip/1.4.2)
P-App-Name: echo
Contact: sip:[email protected]

v=0
o=5b38f3db65741_2 877 1151 IN IP4 x.x.x.x
s=Talk
c=IN IP4 x.x.x.x
b=AS:380
t=0 0
a=rtcp-xr:rcvr-rtt=all:10000 stat-summary=loss,dup,jitt,TTL voip-metrics
m=audio 31658 RTP/AVP 96 0 8 101
a=rtcp-fb:* trr-int 5000
a=rtpmap:96 speex/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:96 vbr=on
a=sendrecv
a=rtcp:31659`

Regards
Abdoul

BYE from B2B callee terminates whole call before B2B.otherBye() transition is executed

According to dsm_syntax.txt:

B2B.sendReinvite(generate_sdp [, string extra_headers])
send a reinvite in caller leg (first leg), e.g. to
reconnect first leg after B2B.otherBye received.
generate_sdp can be 'true' or 'false'
(B2B.sendReinvite(true) recommended)

The problem is that BYE from callee leg has already already terminated
the whole call before B2B.otherBye() transition is executed and it is therefore too late to call B2B.sendReinvite(). In the test I have

transition "bye on other leg" conn - B2B.otherBye() / {
log(2, received bye from callee);
B2B.sendReinvite(true);
} -> thanks_for_calling;

and I get to syslog:

Feb 9 03:58:28 lohi sems[11512]: [#7f509b8f8700] [runEvent, DSMStateEngine.cpp:668] DEBUG: >>>running 2 actions of transition 'bye on other leg'
Feb 9 03:58:28 lohi sems[11512]: [#7f509b8f8700] [runactions, DSMStateEngine.cpp:316] DEBUG: running 2 DSM action elements
Feb 9 03:58:28 lohi sems[11512]: [#7f509b8f8700] [runactions, DSMStateEngine.cpp:321] DEBUG: executing 'log(2, received bye from callee)'
Feb 9 03:58:28 lohi sems[11512]: [#7f509b8f8700] [execute, DSMCoreModule.cpp:624] INFO: FSM: 'received bye from callee'
Feb 9 03:58:28 lohi sems[11512]: [#7f509b8f8700] [runactions, DSMStateEngine.cpp:321] DEBUG: executing 'B2B.sendReinvite(true)'
Feb 9 03:58:28 lohi sems[11512]: [#7f509b8f8700] [reinvite, AmSipDialog.cpp:600] DEBUG: reinvite(): we are not connected (status=Disconnecting). do nothing!

How to prevent B2B.otherBye() event from terminating the call? Is there
some magic missing from the above B2B.sendReinvite description?

It would be nice to get this solved before 1.7 is out. The whole test
diag is below.

-- Juha


import(mod_mysql);
import(mod_utils);

initial state START;

transition "sess start" START - sessionStart / {
log(2, Entering test);
playFile(/tmp/greeting.wav);
} -> lobby;

state lobby;

transition "bye in lobby recvd" lobby - hangup / stop(false) -> end;

state end;

transition "lobby to connect" lobby - noAudioTest / {
B2B.connectCallee("sip:[email protected]", "sip:[email protected]");
} -> waitconnect;

state waitconnect;
state conn;

transition "bye" (waitconnect, conn) - hangup / {
log(2, bye while connecting);
B2B.terminateOtherLeg();
stop(false);
} -> end;

transition "prov reply" waitconnect - B2B.otherReply(#code < 200) / {
log(2, received provisional reply);
} -> waitconnect;

transition "positive reply" waitconnect - B2B.otherReply(#code < 300) / {
log(2, received positive reply);
flushPlaylist();
disconnectMedia();
} -> conn;

transition "negative reply" waitconnect - B2B.otherReply() / {
log(2, received negative reply);
stop(false);
} -> end;

transition "bye on other leg" conn - B2B.otherBye() / {
log(2, received bye from callee);
B2B.sendReinvite(true);
} -> thanks_for_calling;

state thanks_for_calling enter {
info("==== entering thanks_for_calling");
playFile("/tmp/thanks_for_calling.wav");
};

transition "audio_ends" thanks_for_calling - noAudio / {
info("==== audio ends at thanks_for_calling");
stop(true);
} -> end;

transition "bye recvd" (START, end, thanks_for_calling) - hangup / {
log(2, keep checker happy);
stop(false);
} -> end;

build system does not fail on errors

AFAIK build does not fail because there are some known problems with some old modules but I think we should disable those failing modules/plugins by default and do not skip make errors.

From my POW it is quite important to know that a build is a success without having to look over all the output

SEMS 1.5 - 1.7: CANCEL race conditions leads to hanging calls.

Hi
we encounter the follwing problem:

A call that is not terminated regularly is not cleaned up on SEMS.
In our case we see this problem in case of 200 OK (INVITE) while in CANCEL state. This can happen because there is something wrong with the b-side, network error for example, or the a-side cancels the call while the b-side picks it up.
The only thing that SEMS does is putting an ERROR message into the log.

[cancel, AmSipDialog.cpp:1055] ERROR: INVITE transaction has already been cancelled

But I think it should answer the wrong OK with an 481 Call Leg does not exist or something like that, because on the one hand the b-side who picked up the call, thinks there is no audio, because the call seems to be established. On the other hand the call stucks in SEMS even if the b-side terminates the call with a BYE.

To show you an example, I attached a broken call flow where one of our customers had network issues. SEMS is listening on 192.168.253.20:5080 and 127.0.0.1:5080
192.168.253.20:5060 and 127.0.0.1:5060 is our Kamailio Proxy.
192.168.253.60 is an Oracle ACME Packet.
Our customer is 82.97.138.31.

I hope you understand my point.

BR, Bjoern

sems_cancel_error.pcap.zip

opus.c:49:23: fatal error: opus/opus.h: No such file or directory

Hello!

I could not compile opus plugin:

root@ubuntu:/usr/src/sems# dpkg-buildpackage -rfakeroot -us -uc
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: source package sems
dpkg-buildpackage: source version 1.7.0~dev
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Victor Seva <[email protected]>
dpkg-buildpackage: host architecture amd64

make[5]: Entering directory '/usr/src/sems/core/plug-in/opus'
../../../Makefile.defs:374: warning: overriding recipe for target '/usr/src/sems/debian/sems/'
../../../Makefile.defs:371: warning: ignoring old recipe for target '/usr/src/sems/debian/sems/'
../../../Makefile.defs:377: warning: overriding recipe for target '/usr/src/sems/debian/sems/'
../../../Makefile.defs:374: warning: ignoring old recipe for target '/usr/src/sems/debian/sems/'
../../../Makefile.defs:380: warning: overriding recipe for target '/usr/src/sems/debian/sems/'
../../../Makefile.defs:377: warning: ignoring old recipe for target '/usr/src/sems/debian/sems/'
gcc -MMD -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_XMLRPCPP_SSL -D_DEBUG -D_THREAD_SAFE -D_REENTRANT -DSEMS_VERSION='"1.7-dev-110-g065e77a"' -DARCH='"x86_64"' -DOS='"linux"' -DSYSTEM_SAMPLECLOCK_RATE=32000LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -DPROPAGATE_COREDUMP_SETTINGS -I. -fno-strict-aliasing -DUSE_INTERNAL_RESAMPLER -DUSE_SPANDSP -D__STDC_LIMIT_MACROS -I ../.. -I ../../amci  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -fPIC -g  -O2 -Wall  -c opus.c -o opus.o
opus.c:49:23: fatal error: opus/opus.h: No such file or directory
compilation terminated.
../Makefile.audio_module:45: recipe for target 'opus.o' failed
make[5]: *** [opus.o] Error 1
make[5]: Leaving directory '/usr/src/sems/core/plug-in/opus'
root@ubuntu:/usr/src/sems# dpkg -l | grep opus
ii  libopus0:amd64                     1.1.2-1ubuntu1                  amd64        Opus codec runtime library
ii  opus-tools                         0.1.9-1                         amd64        Opus codec command line tools
root@ubuntu:/usr/src/sems# cat /etc/issue
Ubuntu 16.04.1 LTS

error on compile the opus codecs

make[3]: Entering directory `/mnt/sems/core/plug-in/opus'
gcc -MMD -D_DEBUG -D_THREAD_SAFE -D_REENTRANT -DSEMS_VERSION='"1.7-dev-68-g1b17939-dirty"' -DARCH='"x86_64"' -DOS='"linux"' -DSYSTEM_SAMPLECLOCK_RATE=32000LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -DPROPAGATE_COREDUMP_SETTINGS -I. -fno-strict-aliasing -DUSE_INTERNAL_RESAMPLER -DUSE_SPANDSP -D__STDC_LIMIT_MACROS -I ../.. -I ../../amci  -Wall -fPIC -g  -O2 -Wall  -c opus.c -o opus.o
opus.c:49:23: fatal error: opus/opus.h: No such file or directory
 #include <opus/opus.h>
                       ^
compilation terminated.
make[3]: *** [opus.o] Error 1
make[3]: Leaving directory `/mnt/sems/core/plug-in/opus'

please check the source code
thanks

opus payload from SEMS is incorrect

I have a sip message:

[Log] Wed Nov 16 2016 16:50:37 GMT+0700 (ICT) | sip.transport | received WebSocket text message: (sip.js, line 2893)

INVITE sip:[email protected]:56623;transport=ws SIP/2.0
Via: SIP/2.0/WS 42.117.9.23:7080;branch=z9hG4bK0a2f.36d7b712.0
From: sip:[email protected];tag=4C582305-582C2B9B000E95F2-974F4700
To: sip:[email protected]
CSeq: 10 INVITE
Call-ID: DLGCH_fkFVWBUMZBBiRV1cEHsSag1AVV4WcGUVeV1cWWcPZGR/QA--
Max-Forwards: 69
Supported: replaces, outbound
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO, UPDATE
User-Agent: LinphoneAndroid/3.2.0 (belle-sip/1.5.0)
Content-Type: application/sdp
Contact: <sip:42.117.9.23:7080;transport=ws;did=28b.cdb60a67>
Content-Length: 577

v=0
o=16666 2171 2933 IN IP4 192.168.1.48
s=Talk
c=IN IP4 42.117.9.24
t=0 0
m=audio 32386 UDP/TLS/RTP/SAVPF 102
a=rtpmap:102 opus/48000
a=direction:both
a=sendrecv
a=rtcp:32387

According RFC 7587
7. SDP Considerations

The information described in the media type specification has a
specific mapping to fields in the Session Description Protocol (SDP)
[RFC4566], which is commonly used to describe RTP sessions. When SDP
is used to specify sessions employing Opus, the mapping is as
follows:

o The media type ("audio") goes in SDP "m=" as the media name.

o The media subtype ("opus") goes in SDP "a=rtpmap" as the encoding
name. The RTP clock rate in "a=rtpmap" MUST be 48000, and the
number of channels MUST be 2.

Please help us fix it!

Upper registration on Asterisk via SEMS. Loop Detected.

Hello!
I use topology like this:
SIP phone (192.168.101.47) -> SEMS (192.168.100.78) -> Asterisk (192.168.101.8).
But as I see, SEMS divides Registration transactions from SIP phone on different dialogs and Asterisk can't accept such behavior.
Like below:
First dialog: REGISTER ----------->
<--------Unauthorized
Second dialog: REGISTER (digest)---->
<----------- Forbidden

I tried to map CallID from A leg, but could not map branch and tag, otherwise Asterisk sends Loop Detected....

reg.sbcprofile.conf
enable_reg_caching=yes
next_hop=192.168.101.8
RURI=sip:192.168.101.8
Call-ID=$ci_leg2

I attached PCAPs to be clear (with and w/o Call-ID=$ci_leg2 option).

PCAP_traces.zip

Issue with master and 200OK without SDP

Hi!

Recently upgraded from 1.5 to master and ran into an issue with calls not connecting. Only using auth_b2b in Sems to do authentication.

The scenario is:

> INV
< 407
> INV
< Trying
< 183 w/ SDP
< PRACK
...
< 200OK w/o SDP

At this point the call is cancelled by SEMS.

Debug log says:

[#7f257b9f9700/26766] [b2bInitial2xx, CallLeg.cpp:506] DEBUG:  setting call status to connected with leg 2A607DE1-55642A3A0002E503-7B9F9700
 [#7f257b9f9700/26766] [logCallStart, SBCEventLog.cpp:102] DEBUG:  from-ua: 'T2 SIP Transit'
 [#7f257b9f9700/26766] [logCallStart, SBCEventLog.cpp:110] DEBUG:  to-ua: ''
 [#7f257b9f9700/26766] [relaySip, AmB2BSession.cpp:862] DEBUG:  relaying SIP reply 200 OK
 [#7f257b9f9700/26766] [reply, AmBasicSipDialog.cpp:583] DEBUG:  reply: transaction found!
 [#7f257b9f9700/26766] [getSdpBody, AmOfferAnswer.cpp:478] DEBUG:  No SDP Offer.
 [#7f257b9f9700/26766] [reply, AmBasicSipDialog.cpp:600] DEBUG:  onTxReply failed
 [#7f257b9f9700/26766] [relaySip, AmB2BSession.cpp:872] ERROR:  dlg->reply() failed
 [#7f257b9f9700/26766] [updateCallStatus, CallLeg.cpp:1226] DEBUG:  A leg 33541EA6-55642A3A0002D817-80356700 changing status from Ringing to Disconnected
 [#7f257b9f9700/26766] [terminateOtherLeg, CallLeg.cpp:286] DEBUG:  trying to terminate other leg in Disconnected state -> terminating the others as well
 [#7f257b9f9700/26766] [relayEvent, AmB2BSession.cpp:587] DEBUG:  AmB2BSession::relayEvent: to other_id='2A607DE1-55642A3A0002E503-7B9F9700’

After some debugging we found that:
getSdpBody(sdp_buf) == -1
reply.code == 200
reply.cseq_method == INVITE

By that we tried to simulate ignoring SDP by:

diff --git a/core/AmOfferAnswer.cpp b/core/AmOfferAnswer.cpp
index 390ec09..5ae72b1 100644
--- a/core/AmOfferAnswer.cpp
+++ b/core/AmOfferAnswer.cpp
@@ -391,7 +391,7 @@ int AmOfferAnswer::onReplyOut(AmSipReply& reply)
       if (reply.code == 183 && reply.cseq_method == SIP_METH_INVITE) {
         // just ignore if no SDP is generated (required for B2B)
       }
-      else return -1;
+      //else return -1;
     }
     else {
       if(!sdp_body){

With this "fix" calls are connected and works fine on 200OK.

Kind regards,
/Tobias

Sems Segfault

uname -a
Linux r2-c2-n3-routingc-3 3.19.0-42-generic #48~14.04.1-Ubuntu SMP Fri Dec 18 10:24:49 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

sems -v
Sip Express Media Server (1.7-dev-27-g58f5938-dirty (x86_64/linux))

``
(gdb) bt full
#0  AmRtpStream::setLogger (this=0x35, _logger=_logger@entry=0x0) at AmRtpStream.cpp:1315
No locals.
#1  0x000000000046e20f in setLogger (this=0x7ff189f51c18, logger=0x0) at AmB2BMedia.h:214
No locals.
#2  setLogger (logger=0x0, this=0x7ff189f51c18) at AmB2BMedia.h:300
No locals.
#3  AmB2BMedia::setRtpLogger (this=this@entry=0x7ff19df15a20, _logger=_logger@entry=0x0) at AmB2BMedia.cpp:1183
        i = {_M_current = 0x7ff189f51c18}
#4  0x00007ff3eaa75b74 in SBCCallLeg::setMediaSession (this=0x7ff22c0c9ba0, new_session=0x7ff19df15a20) at SBCCallLeg.cpp:1857
No locals.
#5  0x00007ff3eaa3c3b6 in CallLeg::setOther (this=this@entry=0x7ff22c0c9ba0, id=..., forward=forward@entry=true) at CallLeg.cpp:443
        i = {_M_current = 0x7ff19d06c580}
        __FUNCTION__ = "setOther"
#6  0x00007ff3eaa49c70 in CallLeg::b2bInitial1xx (this=0x7ff22c0c9ba0, reply=..., forward=<optimized out>) at CallLeg.cpp:479
        __FUNCTION__ = "b2bInitial1xx"
#7  0x00007ff3eaa3c802 in CallLeg::onB2BReply (this=0x7ff22c0c9ba0, ev=0x7ff18a13bd40) at CallLeg.cpp:595
        __FUNCTION__ = "onB2BReply"
        reply = @0x7ff18a13bd90: {<_AmSipMsgInDlg> = {<AmObject> = {_vptr.AmObject = 0x7e4bf0 <vtable for AmSipReply+16>}, from = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7ff3fc1903d8 <std::string::_Rep::_S_empty_rep_storage+24> ""}}, from_tag = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7ff26c127f78 "25D67E7E-56B2B9440003A00D-FAB21700"}}, to = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7ff3fc1903d8 <std::string::_Rep::_S_empty_rep_storage+24> ""}}, to_tag = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ff26c0c09f8 "3t4Zy9c9UN6QQ"}},
            callid = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7ff26c103238 "08CBD4E9-56B2B9440003A00F-FAB21700"}}, cseq = 86940642, cseq_method = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ff26c0dfd68 "INVITE"}}, rseq = 0,
            route = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7ff3fc1903d8 <std::string::_Rep::_S_empty_rep_storage+24> ""}}, contact = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7ff26c0e1be8 "<sip:209.105.251.126;did=a61.38f21746>"}}, hdrs = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7ff189e77b08 "Remote-Party-ID: \"19519770037\" <sip:[email protected]>;party=calling;privacy=off;screen=no\r\n"}}, body = {<AmObject> = {
                _vptr.AmObject = 0x7e3770 <vtable for AmMimeBody+16>}, ct = {type = {static npos = <optimized out>,
                  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ff26c0fe3b8 "application"}},
                subtype = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                    _M_p = 0x7ff26c0d0f18 "sdp"}}, params = {<std::_List_base<AmContentType::Param*, std::allocator<AmContentType::Param*> >> = {
                    _M_impl = {<std::allocator<std::_List_node<AmContentType::Param*> >> = {<__gnu_cxx::new_allocator<std::_List_node<AmContentType::Param*> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7ff18a13be08, _M_prev = 0x7ff18a13be08}}}, <No data fields>}, mp_boundary = 0x0}, hdrs = {static npos = <optimized out>,
                _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                  _M_p = 0x7ff3fc1903d8 <std::string::_Rep::_S_empty_rep_storage+24> ""}}, content_len = 284,
              payload = 0x7ff189db5880 "v=0\r\no=- 1454524823 1454524824 IN IP4 209.105.251.36\r\ns=-\r\nc=IN IP4 45.79.151.79\r\nt=0 0\r\nm=audio 28594 RTP/AVP 0 101 18 8\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:101 telephone-event/8000\r\na=fmtp:101 0-16\r\na=r"..., parts = {<std::_List_base<AmMimeBody*, std::allocator<AmMimeBody*> >> = {
                  _M_impl = {<std::allocator<std::_List_node<AmMimeBody*> >> = {<__gnu_cxx::new_allocator<std::_List_node<AmMimeBody*> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7ff18a13be38, _M_prev = 0x7ff18a13be38}}}, <No data fields>}}, tt = {_t = 0x0, _bucket = 0x0}, remote_ip = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ff26c0e8e38 "209.105.251.126"}},
            remote_port = 5060, local_ip = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ff26c0ff338 "10.0.2.74"}},
            local_port = 5062, trsp = {static npos = <optimized out>,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ff26c12d248 "udp"}}}, code = 183,
          reason = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
              _M_p = 0x7ff26c00ad88 "Session Progress"}}, to_uri = {static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
              _M_p = 0x7ff26c0bfd18 "sip:209.105.251.126;did=a61.38f21746"}}}
        initial_reply = true
---Type <return> to continue, or q <return> to quit---
#8  0x00007ff3eaa7f1ef in SBCCallLeg::process (this=0x7ff22c0c9ba0, ev=0x7ff18a13bd40) at SBCCallLeg.cpp:820
        __FUNCTION__ = "process"
        ctl_event = <optimized out>
#9  0x00000000004b7c3c in AmEventQueue::processEvents (this=0x7ff22c0c9ba0) at AmEventQueue.cpp:86
        event = 0x7ff18a13bd40
        __FUNCTION__ = "processEvents"
#10 0x0000000000503125 in AmSession::processEventsCatchExceptions (this=<optimized out>) at AmSession.cpp:320
        __FUNCTION__ = "processEventsCatchExceptions"
#11 0x0000000000502719 in AmSession::processingCycle (this=0x7ff22c0c9ba0) at AmSession.cpp:351
        dlg_status = <optimized out>
        s_stopped = <optimized out>
        __FUNCTION__ = "processingCycle"
#12 0x000000000050d43e in AmSessionProcessorThread::run (this=0x1ebfa60) at AmSessionProcessor.cpp:139
        pending_process_sessions = {_M_t = {
            _M_impl = {<std::allocator<std::_Rb_tree_node<AmEventQueue*> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<AmEventQueue*> >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<AmEventQueue*, AmEventQueue*, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red,
                _M_parent = 0x7ff19dd07c40, _M_left = 0x7ff19dd07c40, _M_right = 0x7ff19dd07c40}, _M_node_count = 1}}}
        fin_sessions = {<std::_Vector_base<AmSession*, std::allocator<AmSession*> >> = {
            _M_impl = {<std::allocator<AmSession*>> = {<__gnu_cxx::new_allocator<AmSession*>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
              _M_end_of_storage = 0x0}}, <No data fields>}
        it = {_M_node = 0x7ff19d5d7890}
        __FUNCTION__ = "run"
#13 0x0000000000534c68 in AmThread::_start (_t=0x1ebfa60) at AmThread.cpp:75
        _this = 0x1ebfa60
        __FUNCTION__ = "_start"
#14 0x00007ff3fc199182 in start_thread (arg=0x7ff3fab21700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7ff3fab21700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140685859755776, -2374133773495237967, 0, 0, 140685859756480, 140685859755776, 2371871489093730993, 2371877316538466993},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#15 0x00007ff3fb34a47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

support DVSNI domain name validation for Let's Encrypt / ACME

It would be useful if SEMS could natively handle DVSNI requests for Let's Encrypt certificates.

A benefit of this approach is that the SEMS process doesn't have to be restarted during certificate setup / renewal and the user doesn't have to manually do anything like DNS TXT records for validation.

Spec:
https://letsencrypt.github.io/acme-spec/#rfc.section.7

Discussion about adding this feature in reSIProcate:
https://www.resiprocate.org/bugzilla/show_bug.cgi?id=131

Music on Hold

Currently have sems setup with the SBC app with rtp relaying for our PSTN sip connections.

I am looking for recommendations on intercepting the reinvite from the PBX putting the session on hold and changing the RTP connection info to some kind of music audio stream.

Out of the box it looks like an SBC profile can detect the hold reinvite and change the response, but not sure how (if it can) change it to the music on hold stream. Would I possibly have to implement this logic with a DSM call control script?

Looking for suggestions if anyone has attempted this or has any better ideas.
(Not sure if this is the best place to post this, seems like most of the community/links in this project are out of date)

clang++ warning -Wstring-plus-int

Don't know how to fix following clang++ warning or if warning even is reasonable.
Some -Wstring-plus-int discussion found here https://llvm.org/bugs/show_bug.cgi?id=13541

FreeBSD 10.1
clang++ 3.4.1

clang++ -MMD -c -o jsonArg.o jsonArg.cpp -D_DEBUG -D_THREAD_SAFE -D_REENTRANT -DSEMS_VERSION='"1.6-dev-1269-ge9b03cc-dirty"' -DARCH='"x86_64"' -DOS='"freebsd"' -DSYSTEM_SAMPLECLOCK_RATE=32000LL -DSEMS_APP_NAME='"sems"' -DUSE_MONITORING -I/usr/local/include -I. -fno-strict-aliasing -DUSE_INTERNAL_RESAMPLER -Wall -Wno-reorder -Wno-unused -fPIC -g   -O2
jsonArg.cpp:97:22: warning: adding 'const char' to a string does not append to the string [-Wstring-plus-int]
          result += "\\u00" + hex_chars[*c >> 4] + hex_chars[*c & 0xf];
                    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~
jsonArg.cpp:97:22: note: use array indexing to silence this warning
          result += "\\u00" + hex_chars[*c >> 4] + hex_chars[*c & 0xf];
                            ^
                    &       [                   ]
1 warning generated.

sbc module has unresolved symbols on Fedora

The sems package shipped with Fedora comes with a broken sbc.so module. When sems tries to load that the following error occurs:

Sep 07 23:59:02 XXX sems[31868]: [/builddir/build/BUILD/sems-1.6.0/core/AmPlugIn.cpp:298] ERROR: AmPlugIn::loadPlugIn: /usr/lib64/sems/plug-in//sbc.so: /usr/lib64/sems/plug-in//sbc.so: undefined symbol: _ZTI14_RegisterCache
Sep 07 23:59:02 XXX sems[31868]: [/builddir/build/BUILD/sems-1.6.0/core/AmPlugIn.cpp:206] ERROR: while loading plug-in '/usr/lib64/sems/plug-in//sbc.so'

I opened a bug report on the Fedora bugtracker, too: https://bugzilla.redhat.com/show_bug.cgi?id=1260803

This does not seem to be an issue with the Fedora buildsystem though.

[SEMS] Content-Length duplicating when failure rerouting

Hello!
We are using sems 1.7.1 and looks like there is a bug in sbc application in case of call rerouting via option next_hop.
Here is a sbcprofile main settings:

RURI = sip:[email protected]:5060
To = <sip:[email protected]>
From = <sip:$fU@$rd>
next_hop=10.10.10.10/UDP,10.10.10.20/UDP
enable_rtprelay=no
sdp_filter=transparent
sdp_anonymize=no
enable_transcoder=never

When primary node (10.10.10.10) does not respond, call goes to secondary (10.10.10.20), but outgoing INVITE has two Content-Length fields, like below:

2018/12/18 11:39:17.293209 10.10.10.1:5060 -> 10.10.10.20:5060
INVITE sip:[email protected]:5060 SIP/2.0
...
Content-Type: application/sdp
Content-Length: 283
Contact: <sip:10.10.10.1:5060;transport=udp>
Content-Length: 283

cc_dsm.so: undefined symbol: _ZTI10DSMSession

Hi,

With the lastest sems source (sems_1.6-dev-1165-ga170f8f-dirty), I have an error when load ing cc_dsm.so : undefined symbol: _ZTI10DSMSession.

I have in sbc.conf :
load_cc_plugins=cc_dsm

Apr 1 14:44:03 o10-itx2-proxy sems[20013]: [#7fb6766c0720] [onLoad, SBC.cpp:174] INFO: loading call control plugins 'cc_dsm' from '/usr/lib/sems/plug-in'
Apr 1 14:44:03 o10-itx2-proxy sems[20013]: [#7fb6766c0720] [load, AmPlugIn.cpp:214] INFO: AmPlugIn: loading modules: 'cc_dsm'
Apr 1 14:44:03 o10-itx2-proxy sems[20013]: [#7fb6766c0720] [load, AmPlugIn.cpp:231] DEBUG: loading /usr/lib/sems/plug-in/cc_dsm.so...
Apr 1 14:44:03 o10-itx2-proxy sems[20013]: [#7fb6766c0720] [loadPlugIn, AmPlugIn.cpp:298] ERROR: AmPlugIn::loadPlugIn: /usr/lib/sems/plug-in/cc_dsm.so: /usr/lib/sems/plug-in/cc_dsm.so: undefined symbol: _ZTI10DSMSession
Apr 1 14:44:03 o10-itx2-proxy sems[20013]: [#7fb6766c0720] [load, AmPlugIn.cpp:233] ERROR: while loading plug-in '/usr/lib/sems/plug-in/cc_dsm.so'
Apr 1 14:44:03 o10-itx2-proxy sems[20013]: [#7fb6766c0720] [onLoad, SBC.cpp:177] ERROR: loading call control plugins 'cc_dsm' from '/usr/lib/sems/plug-in'
Apr 1 14:44:03 o10-itx2-proxy sems[20013]: [#7fb6766c0720] [main, sems.cpp:629] INFO: Disposing plug-ins

Do you have any idea where this comes from ?

[SEMS] Missing to tag in outgoing PRACK

Hello!

We detected interesting issue with missing to tag in outgoing PRACK message (sbc application). Below you can see debug from syslog.
To header from outgoing PRACK from sems : Jan 19 09:15:31 sems: To: <sip:[email protected]>

Jan 19 09:15:31  sems: [3969//builddir/build/BUILD/sems-1.7.1/core/sip/udp_trsp.cpp:259] DEBUG: send  msg to 185.1.1.2:5060
Jan 19 09:15:31  sems: --++--
Jan 19 09:15:31  sems: SIP/2.0 180 Ringing
Jan 19 09:15:31  sems: Via: SIP/2.0/UDP 185.1.1.2:5060;branch=z9hG4bK06Be83a26ed29c854b9
Jan 19 09:15:31  sems: From: <sip:[email protected]>;tag=gK061b7147
Jan 19 09:15:31  sems: To: <sip:[email protected]>;tag=0DF5B399-5C42DCA300056035-E74F4700
Jan 19 09:15:31  sems: Call-ID: [email protected]
Jan 19 09:15:31  sems: CSeq: 14163 INVITE
Jan 19 09:15:31  sems: Require: 100rel
Jan 19 09:15:31  sems: User-Agent: Mitel Border GW
Jan 19 09:15:31  sems: Privacy: id
Jan 19 09:15:31  sems: P-Asserted-Identity: "IVR" <sip:[email protected]>
Jan 19 09:15:31  sems: RSeq: 703114100
Jan 19 09:15:31  sems: Contact: <sip:185.1.1.3:5060;transport=udp>
Jan 19 09:15:31  sems: Content-Length: 0
Jan 19 09:15:31  sems: --++--


Jan 19 09:15:31  sems: [12037//builddir/build/BUILD/sems-1.7.1/core/sip/udp_trsp.cpp:352] DEBUG: vv M [|] u recvd msg via UDP from 185.1.1.2:5060 vv
Jan 19 09:15:31  sems: --++--
Jan 19 09:15:31  sems: PRACK sip:185.1.1.3:5060;transport=udp SIP/2.0
Jan 19 09:15:31  sems: Via: SIP/2.0/UDP 185.1.1.2:5060;branch=z9hG4bK06Be83b496c9891eec4
Jan 19 09:15:31  sems: From: <sip:[email protected]>;tag=gK061b7147
Jan 19 09:15:31  sems: To: <sip:[email protected]>;tag=0DF5B399-5C42DCA300056035-E74F4700
Jan 19 09:15:31  sems: Call-ID: [email protected]
Jan 19 09:15:31  sems: CSeq: 14164 PRACK
Jan 19 09:15:31  sems: Max-Forwards: 70
Jan 19 09:15:31  sems: RAck: 703114100 14163 INVITE
Jan 19 09:15:31  sems: Content-Length: 0
Jan 19 09:15:31  sems: --++--


Jan 19 09:15:31  sems: [3970//builddir/build/BUILD/sems-1.7.1/core/sip/udp_trsp.cpp:259] DEBUG: send  msg to 10.10.10.20:5060
Jan 19 09:15:31  sems: --++--
Jan 19 09:15:31  sems: PRACK sip:10.10.10.10:5060;transport=udp SIP/2.0
Jan 19 09:15:31  sems: Via: SIP/2.0/UDP 10.10.10.30;branch=z9hG4bKuICJOaNO;rport
Jan 19 09:15:31  sems: From: <sip:[email protected]:5060>;tag=62074EBE-5C42DCA30005687D-BE9E9700
Jan 19 09:15:31  sems: To: <sip:[email protected]>
Jan 19 09:15:31  sems: CSeq: 11 PRACK
Jan 19 09:15:31  sems: Call-ID: [email protected]_isp
Jan 19 09:15:31  sems: Route: <sip:10.10.10.20:5060;lr>
Jan 19 09:15:31  sems: Max-Forwards: 69
Jan 19 09:15:31  sems: RAck: 703114100 10 INVITE
Jan 19 09:15:31  sems: Contact: <sip:10.10.10.30:5060;transport=udp>
Jan 19 09:15:31  sems: Content-Length: 0
Jan 19 09:15:31  sems: --++--

out of buffers for RTP packets, dropping

I use latest master branch with SBC application and RTP relay enabled.

Sometimes, in the middle of a call, an RTP stream stops being processed and I get "out of buffers for RTP packets, dropping (stream [0xpppppppppp])" errors.
The incoming RTP stream is OK and contains audio in the input capture. The outgoing RTP stream looks OK but contains no sound on the output capture.
The RTP stream never recover and the call has to be hangup by users.

Do you have any idea what could cause these errors ?

Unable to build version 1.6.0 and above on FreeBSD

The compiler is FreeBSD clang version 3.4.1.
Trying with no extra options.

[ 17%] Building CXX object core/CMakeFiles/sems.dir/AmRtpPacket.o
cd /usr/src/sems/build/core && /usr/bin/CC   -DLOG_BUFFER_LEN=2048 -DMAX_RTP_SESSIONS=2048 -I/usr/src/sems/core/ampi -I/usr/src/sems/core/amci -I/usr/src/sems/core -I/usr/local/include -o CMakeFiles/sems.dir/AmRtpPacket.o -c /usr/src/sems/core/AmRtpPacket.cpp
/usr/src/sems/core/AmRtpPacket.cpp:206:31: error: invalid application of 'sizeof' to an incomplete type 'struct in_pktinfo'
    char cmsg4_buf[CMSG_SPACE(sizeof(struct in_pktinfo))];
                              ^     ~~~~~~~~~~~~~~~~~~~
/usr/include/sys/socket.h:514:65: note: expanded from macro 'CMSG_SPACE'
#define CMSG_SPACE(l)           (_ALIGN(sizeof(struct cmsghdr)) + _ALIGN(l))
                                                                         ^
/usr/include/x86/_align.h:50:33: note: expanded from macro '_ALIGN'
#define _ALIGN(p)       (((uintptr_t)(p) + _ALIGNBYTES) & ~_ALIGNBYTES)
                                      ^
/usr/src/sems/core/AmRtpPacket.cpp:206:45: note: forward declaration of 'in_pktinfo'
    char cmsg4_buf[CMSG_SPACE(sizeof(struct in_pktinfo))];
                                            ^
/usr/include/sys/socket.h:514:65: note: expanded from macro 'CMSG_SPACE'
#define CMSG_SPACE(l)           (_ALIGN(sizeof(struct cmsghdr)) + _ALIGN(l))
                                                                         ^
/usr/include/x86/_align.h:50:33: note: expanded from macro '_ALIGN'
#define _ALIGN(p)       (((uintptr_t)(p) + _ALIGNBYTES) & ~_ALIGNBYTES)
                                      ^
/usr/src/sems/core/AmRtpPacket.cpp:227:23: error: use of undeclared identifier 'IP_PKTINFO'
    cmsg->cmsg_type = IP_PKTINFO;
                      ^
/usr/src/sems/core/AmRtpPacket.cpp:228:31: error: invalid application of 'sizeof' to an incomplete type 'struct in_pktinfo'
    cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo));
                              ^     ~~~~~~~~~~~~~~~~~~~
/usr/include/sys/socket.h:515:57: note: expanded from macro 'CMSG_LEN'
#define CMSG_LEN(l)             (_ALIGN(sizeof(struct cmsghdr)) + (l))
                                                                   ^
/usr/src/sems/core/AmRtpPacket.cpp:228:45: note: forward declaration of 'in_pktinfo'
    cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo));
                                            ^
/usr/include/sys/socket.h:515:57: note: expanded from macro 'CMSG_LEN'
#define CMSG_LEN(l)             (_ALIGN(sizeof(struct cmsghdr)) + (l))
                                                                   ^
/usr/src/sems/core/AmRtpPacket.cpp:231:12: error: member access into incomplete type 'struct in_pktinfo'
    pktinfo->ipi_ifindex = sys_if_idx;
           ^
/usr/src/sems/core/AmRtpPacket.cpp:228:45: note: forward declaration of 'in_pktinfo'
    cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo));
                                            ^
/usr/include/sys/socket.h:515:57: note: expanded from macro 'CMSG_LEN'
#define CMSG_LEN(l)             (_ALIGN(sizeof(struct cmsghdr)) + (l))
                                                                   ^
4 errors generated.
*** Error code 1

Stop.
make[2]: stopped in /usr/src/sems/build
*** Error code 1

Stop.
make[1]: stopped in /usr/src/sems/build
*** Error code 1

Stop.
make: stopped in /usr/src/sems/build

Relay Problems on CFNR scenarios

We have a SEMS running as SBC. After that comes a Kamailio that does a lot of class5 features for our customers. One of them is CFNR. This is some kind of problematic as the call may be in proceeding or even early state so it has an to-tag and after a while the call is routed to an other destination where it gets another one.
In our case the caller gets a 180 ringing from the callee. After a while the call is forwarded to an other destination where it send a 183 message to the caller. But this message never reaches it destination as SEMS does not relay this message. I think it is because of the different to-tag.
This is problematic as the caller is still at the wrong ringback and when he cancels the call, the call gets stuck in sems.
I hope you will understand what my problem is.

BR, Bjoern

SEMS v. 1.7.0 IPV4/IPV6 networking problem?

Hi Everyone,
I'm using SEMS (v. 1.7.0) with Kamailio proxy to make a ipv4/ipv6 interworking:

Sip Client <-------> Proxy <--- IPV4 ---> Sems <--- IPV6 ---> MyVoipGw

and I have any problems with sems ipv6 configuration.

I configured two sems ntw interfaces IPV4/IPV6:

ifexternal
sip_ip_ifexternal=192.168.110.79
sip_port_ifexternal=5082
media_ip_ifexternal=192.168.110.79
rtp_low_port_ifexternal=10000
rtp_high_port_ifexternal=60000

ifexternalipv6
sip_ip_ifexternalipv6=2002:c0a8:6e4f:5::1
sip_port_ifexternalipv6=5092
media_ip_ifexternalipv6=2002:c0a8:6e4f:5::1
rtp_low_port_ifexternalipv6=70000
rtp_high_port_ifexternalipv6=80000

when sems startup I see in the logs:

INFO: Signaling interfaces:
INFO: (0) name='ifinternal';LocalIP='127.0.0.1';LocalPort='5080';PublicIP='';TCP=2000/3600000
INFO: (1) name='ifexternal';LocalIP='192.168.110.79';LocalPort='5082';PublicIP='';TCP=2000/3600000
INFO: (2) name='ifexternalipv6';LocalIP='[2002:c0a8:6e4f:5::1]';LocalPort='5092';PublicIP='';TCP=2000/3600000
INFO: Signaling address map:
INFO: 127.0.0.1 -> ifinternal
INFO: 192.168.110.79 -> ifexternal
INFO: [2002:c0a8:6e4f:5::1] -> ifexternalipv6
INFO: Media interfaces:
INFO: (0) name='ifexternal';LocalIP='192.168.110.79';Ports=[10000;60000];PublicIP=''
INFO: (1) name='ifexternalipv6';LocalIP='2002:c0a8:6e4f:5::1';Ports=[70000;80000];PublicIP=''

but when sems receives a request to forward via next_hop=2002:C0A8:6E4F:5:A00:27FF:FE25:A4B9 (IPV6 ADDRESS MYVOIPGW) I have an error in trace:

ERROR: Could not find a local interface for resolved local IP (local_tag='3AF5A893-595D004B000F0808-4AAFF480';local_ip='2002:c0a8:6e4f:5::1')
WARNING: Error while computing outbound interface: default interface will be used instead.
DEBUG: setting outbound interface to 0

and sems crash with:

ERROR: sendto(12;]:5060): Address family not supported by protocol
ERROR: Error from transport layer
Segmentation fault

From code I see in "getOutboundIf" method of "AmBasicSipDialog" class that retrieve the interface to use to send sip packets from "next_hop" host but the method do not find interface because the search ipv6 address without "[" "]".

From code I see:

if(!next_hop.empty() &&
    !parse_next_hop(stl2cstr(next_hop),ip_list) && -------------> parse_next_hop method return next_hop host without "[" "]"
  !ip_list.empty()) {
      dest_ip = c2stlstr(ip_list.front().host);
}
if(get_local_addr_for_dest(dest_ip,local_ip) < 0){ -----------> "get_local_addr_for_dest" method use "dest_ip" to get "local_ip" for correct ip family (IPV6) and return it without "[" "]"
    ERROR("No local address for dest '%s' (local_tag='%s')",dest_ip.c_str(),local_tag.c_str());
  goto error;
}

if_it = AmConfig::LocalSIPIP2If.find(local_ip); -------------> local_ip not found in LocalSIPIP2If because in this list ipv6 address is in [] form.
if(if_it == AmConfig::LocalSIPIP2If.end()){
    ERROR("Could not find a local interface for resolved local IP (local_tag='%s';local_ip='%s')",
    local_tag.c_str(), local_ip.c_str());
  goto error;
}

I modified the code to add [] to local_ip and the interfaces found.

My questions are:
is it a bug or is my wrong configuration?
Can You help me?

thank's in advance!

g729 codec compilation problem

It appears this block in the new g729.c is incorrect and fails compilation.

static amci_codec_fmt_info_t[] gsm_fmt_description = { { AMCI_FMT_FRAME_LENGTH, 20 },
{ AMCI_FMT_FRAME_SIZE, 160 },
{ AMCI_FMT_ENCODED_FRAME_SIZE, 33 },
{ 0, 0 }
};

SBC Contact header rewriting, doesn't work

Is there any reason why loading information for contact is commented out in SBCCallProfile.cpp

bool SBCCallProfile::readFromConfiguration(const string& name,
                       const string profile_file_name) {
  AmConfigReader cfg;
  if (cfg.loadFile(profile_file_name)) {
    ERROR("reading SBC call profile from '%s'\n", profile_file_name.c_str());
    return false;
  }

  profile_file = profile_file_name;

  ruri = cfg.getParameter("RURI");
  ruri_host = cfg.getParameter("RURI_host");
  from = cfg.getParameter("From");
  to = cfg.getParameter("To");
  //contact = cfg.getParameter("Contact");

Contact is commented out in other places as well.

sems-1.7.0-dev: Session Timer plugin refresher problem

In the following setup the sst plugin does give me a hard time.

Phone --> Proxy --> SBC(sst enabled) --> Proxy --> SBC(sst enabled) --> Proxy --> Phone

The call will become teared down by one of the sbc becaus of pendig request, cseq missmatch and timeouts, in this setup. It seems that there is some quirky stuff is happening when determine session refresher.

call flow:

        ──────────┬─────────          ──────────┬─────────          ──────────┬─────────
20:54:03.873249   │ ─────── INVITE (SDP) ─────> │                             │
20:54:03.892432   │ <───── 100 Connecting ───── │                             │
20:54:03.907397   │                             │ ─────── INVITE (SDP) ─────> │
20:54:03.909281   │                             │ <─────── 100 Trying ─────── │
20:54:04.399954   │                             │ <─────── 180 Ringing ────── │
20:54:04.400700   │ <─────── 180 Ringing ────── │                             │
20:54:06.027741   │                             │ <────── 200 OK (SDP) ────── │
20:54:06.029266   │ <────── 200 OK (SDP) ────── │                             │
20:54:06.060060   │ ──────────── ACK ─────────> │                             │
20:54:06.069732   │                             │ ──────────── ACK ─────────> │

a-leg side of sems:

INVITE sip:.... SIP/2.0
....
Supported: timer
Session-Expires: 120
Min-SE: 90
SIP/2.0 200 OK
....
Supported: replaces, 100rel, timer, norefersub
Require: timer
Session-Expires: 120;refresher=uas    <-- shouldn't this be uac?

b-leg side of sems:

INVITE sip:.... SIP/2.0
....
Supported: timer
Session-Expires: 120
Min-SE: 90
SIP/2.0 200 OK
....
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 120;refresher=uac
Require: timer

Btw if I overwrite the refresher=uas with uac, the session kept running.

public_ip setting not used on RTCP interface

Hi,
I've just noticed, that when public_ip setting is used internal IP is send in rtcp offer.

Local IP 10.23.248.104 resolves to public 34.249.138.180
o= and c= contains proper public IP, but a=rtcp has internal one.

Please have a look into trace i took

#
U 10.23.248.104:5060 -> 213.218.x.y:5060
INVITE sip:[email protected] SIP/2.0.
Via: SIP/2.0/UDP 34.249.138.180;branch=z9hG4bKYDJ~hadd;rport.
From: sip:[email protected];tag=69F70F42-5889DF06000D5414-BC92F700.
To: sip:[email protected].
CSeq: 10 INVITE.
Call-ID: 4ecc4f05-db34-4368-8851-151857f18785.
Route: <sip:sip.proxy.com:5060;lr>.
Max-Forwards: 70.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY.
Supported: path, replaces.
Privacy: none.
Content-Type: application/sdp.
Contact: <sip:34.249.138.180:5060;transport=udp>.
Content-Length: 251.
.
v=0.
o=- 1485402434 1485402435 IN IP4 34.249.138.180.
s=-.
c=IN IP4 34.249.138.180.
t=0 0.
m=audio 30002 RTP/AVP 8 0.
a=rtpmap:8 PCMA/8000.
a=rtpmap:0 PCMU/8000.
a=sendrecv.
a=rtcp-mux.
a=rtcp:30003 IN IP4 10.23.248.104.
a=ptime:20.
a=direction:both.

#
U 213.218.x.y:5060 -> 10.23.248.104:5060
SIP/2.0 403 Forbidden.
Via: SIP/2.0/UDP 34.249.138.180;branch=z9hG4bKYDJ~hadd;rport=5060.
From: sip:[email protected];tag=69F70F42-5889DF06000D5414-BC92F700.
To: sip:[email protected];tag=e671f06608a3bf1703ca55828e9b1338.10fd.
CSeq: 10 INVITE.
Call-ID: 4ecc4f05-db34-4368-8851-151857f18785.
Server: Carrier-eX v.0.9.
Content-Length: 0.
.

#
U 10.23.248.104:5060 -> 213.218.x.y:5060
ACK sip:[email protected] SIP/2.0.
Via: SIP/2.0/UDP 34.249.138.180;branch=z9hG4bKYDJ~hadd;rport.
From: sip:[email protected];tag=69F70F42-5889DF06000D5414-BC92F700.
To: sip:[email protected];tag=e671f06608a3bf1703ca55828e9b1338.10fd.
Call-ID: 4ecc4f05-db34-4368-8851-151857f18785.
CSeq: 10 ACK.
Route: <sip:sip.proxy.com:5060;lr>.
Content-Length: 0.

SEMS drop Max-Forwards header from ONLY CANCEL request

Hi !

Checked traces from MX-ONE-SEMS-Kamailio-SEMS-Skype4Business.
On the last leg SEMS-S4B, SEMS drop Max-Forward header from CANCEL request only.
INVITE, PRACK, ASK, BYE - all request is good and contains Max-Forwards.

Konstantin

apps/mwi: why notify and some errors in created request

Why was the method changed from PUBLISH to NOTIFY? apps/mwi/mwi.cpp#L109-L116

This module pre sets a Route-Header to the presence_server, which leads to the following SIP request:

NOTIFY sip:x.x.x.x SIP/2.0
Via: SIP/2.0/UDP x.x.x.y;branch=z9hG4bKbQU7laXT;rport
From: <sip:[email protected]>;tag=177BE301-58D2463A00053860-1F4F4700
To: domain.de
CSeq: 10 NOTIFY
Call-ID: [email protected]
Max-Forwards: 70
Event: message-summary
Subscription-State: active
Content-Type: application/simple-message-summary
Route: <sip:[email protected]>
Contact: <sip:x.x.x.y:5060;transport=udp>
Content-Length: 105

Messages-Waiting: yes
Message-Account: sip:[email protected]
Voice-Message: 1/0 (1/0)

I would like to use the module but not as it is, because it doesn't work for me. Are there any problems regarding a change back to PUBLISH method or should it be configurable? The To header will be bad sip, so I will fix it and I will remove the preset route set and let it be set in the config, because I don't need it.

Sip Express Media Server (1.7-dev-90-g97d29b0 (x86_64/linux)) - SBC cannot transcode

[Hi you, we want to use SEMS to transcode but it's not working -

Caller understands only PCMA codec, callee: understands only PCMU codec:

my.sbcprofile.conf:

enable_rtprelay=yes
enable_transcoder=always
transcoder_codecs=pcmu,pcma
prefer_existing_codecs=yes
codec_preference=pcma/8000,pcmu/8000
sdp_filter=whitelist
sdpfilter_list=pcma

The sip signaling is ok, but the media is not working....

The log: http://pastebin.com/6swu0hfG

What's wrong in my config? Please help us!

Thank you!

[SEMS 1.7] CentOS 7. Compile error.

Hello!
Please help me to compile sems 1.7-dev-214-gdf92a7e for CentOS 7:

make[3]: Entering directory `/usr/src/sipwise/sems/core/plug-in/codec2'
make[3]: *** No rule to make target `all'.  Stop.
make[3]: Leaving directory `/usr/src/sipwise/sems/core/plug-in/codec2'
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/usr/src/sipwise/sems/core/plug-in'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/sipwise/sems/core'
make: *** [modules] Error 2

[root@sems]# rpm -qa | grep codec2
libcodec2-2.59-1.el7.x86_64
libcodec2-devel-2.59-1.el7.x86_64

Also I tried with codec2-devel, result was the same.

[root@sems]# rpm -qa | grep codec2
codec2-0.8.1-1.el7.x86_64
codec2-devel-0.8.1-1.el7.x86_64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.