sems-server / sems Goto Github PK
View Code? Open in Web Editor NEWSip Express Media Server
Sip Express Media Server
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.
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))
BR, Bjoern
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
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
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
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
Lines 277 to 278 in 942da3d
# 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))
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
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?
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]
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)
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
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
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=NjHoESHrIDgzXk8C
To: "200" sip:[email protected]
CSeq: 20 INVITE
Call-ID: i
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
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;
Hi team,
just installed the sems package from EPEL on CentOS7. Everything works fine, however none of the call control modules get installed.
Am I missing something?
Cheers
Michael
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
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
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
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
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!
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).
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
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.
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
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)
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.
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.
Hi, I'm new to SEMS, does it support Windows ?
Best regards,
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
Documentation references various URLs at iptel.org which are 404.
The domain itself looks like it may no longer be associated with this project ?
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 ?
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: --++--
Hello!
@lemenkov could you check why build sems-1.6.0-15.fc30 was failed?
Sems wont compile on Xenial. The compile will complete, but wont produce a sems binary.
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 ?
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
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
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=60000ifexternalipv6
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!
Hi
I'm using Version 1.7-dev-129-g7dfe676-dirty (x86_64/linux)
after getting a 181 Message that is relayed properly the following 180 Ringing Message is stuck and does not pass SEMS. In Version 1.5.1 (x86_64/linux) it is working properly
I attached a SIP Trace and debug logs of both non-working and working-call.
Greetings, Bjoern
sems_debug_log.txt
sems_trace.txt
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 }
};
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.
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.
Very helpfull app, thanks
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.
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
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.
When usign PR #19 compilation works but getting segfault when compiling with clang. When I change compiler back to gcc and install it on FreeBSD extra no segfaults happend on startupo. I track down the segfault happend when calling pthread_mutex_destroy, so there seems to be some differences in the pthread implementations that arent handled in sems code. For stacktrace refer PR #19
[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!
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.