Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - abma

Pages: [1]
When using SRTP with a Snom 715, SRTP packets are dropped by yate with:

Code: [Select]
SRTP HMAC recv: e4dfae70 calc: 0a1071eb seq: 66331 [0x7f47c801d5a0]
more details at

when rtp is forwarded / the phones directly communicate, it works fine.

sorry, i'm still not sure if this is a yate or a snom bug. :-|

I've created a bug report at snom, too, see the packet dump of such a call.

Other Yate server issues / no audio with srtp/rtp_forward=no
« on: April 26, 2016, 07:28:38 AM »
when i disable rtp_forward then i have no audio. it seems yate receives the rtp stream but doesn't forward it to the other leg.

i.e. phone a sends rtp to yate, yate receives the rtp packet but doesn't forward it to phone b

an idea what could cause this?

with rtp_forward=yes it works.

Code: [Select]
<INFO> Could not classify call from '303', wasted 9 usec
<INFO> Could not route call to '304' in context 'default', wasted 950 usec
<cdrbuild:INFO> Got message 'call.route' for untracked id 'sip/89'
<yrtp:ALL> RTP/SAVP message received
<yrtp:ALL> YRTPWrapper::YRTPWrapper('<yate server ip>',0x7f98fc02e760,'audio',bidir,0x7f98fc02acc0,false) [0x7f98fc0419a0]
<yrtp:ALL> YRTPWrapper::setupRTP("<yate server ip>",true,true) [0x7f98fc0419a0]
<yrtp:INFO> Session 'yrtp/305743342' 0x7f98fc030a60 bound to <yate server ip>:39018 +RTCP [0x7f98fc0419a0]
<yrtp:ALL> YRTPSource::YRTPSource(0x7f98fc0419a0) [0x7f98fc005940]
<yrtp:ALL> YRTPConsumer::YRTPConsumer(0x7f98fc0419a0) [0x7f98fc007e80]
<yrtp:ALL> YRTPWrapper::setupSRTP(true) [0x7f98fc0419a0]
<yrtp:ALL> RTP/SAVP message received
<yrtp:ALL> Wrapper 0x7f98fc0419a0 found by CallEndpoint 0x7f98fc02e760
<yrtp:ALL> YRTPWrapper::startRTP("<phone ip 2>",53388) [0x7f98fc0419a0]
<yrtp:INFO> RTP starting format 'alaw' payload 8 [0x7f98fc0419a0]
<INFO> RTPSecure::init() encrypt=true authlen=4 [0x7f98fc005d60]
<yrtp:ALL> YRTPWrapper::startSRTP('AES_CM_128_HMAC_SHA1_32','inline:fXFTe5zhvpd9j85nnjDTXVRwCtyi/eHI82gB/NVp',(nil)) [0x7f98fc0419a0]
<INFO> RTPSecure::setup('AES_CM_128_HMAC_SHA1_32','inline:fXFTe5zhvpd9j85nnjDTXVRwCtyi/eHI82gB/NVp',(nil)) [0x7f98e805fb50]
<INFO> RTPSecure::init() encrypt=true authlen=4 [0x7f98e805fb50]
<yrtp:NOTE> Started SRTP suite 'AES_CM_128_HMAC_SHA1_32' [0x7f98fc0419a0]
<yrtp:ALL> YRTPWrapper::setupSRTP(true) [0x7f98fc0419a0]
<NOTE> Choosing started 'audio' format 'alaw' [0x7f98fc030080]
<yrtp:ALL> RTP/SAVP message received
<yrtp:ALL> YRTPWrapper::YRTPWrapper('<yate server ip>',0x7f98e8060140,'audio',bidir,0x7f98fc002400,false) [0x7f98fc02f900]
<yrtp:ALL> YRTPWrapper::setupRTP("<yate server ip>",true,true) [0x7f98fc02f900]
<yrtp:INFO> Session 'yrtp/1232061648' 0x7f98fc04bd60 bound to <yate server ip>:39708 +RTCP [0x7f98fc02f900]
<yrtp:ALL> YRTPSource::YRTPSource(0x7f98fc02f900) [0x7f98fc006f50]
<INFO> DataTranslator::attachChain [0x7f98fc006f50] '(null)' -> [0x7f98fc007e80] 'alaw' not possible
<yrtp:ALL> YRTPConsumer::YRTPConsumer(0x7f98fc02f900) [0x7f98fc0070e0]
<INFO> DataTranslator::attachChain [0x7f98fc005940] 'alaw' -> [0x7f98fc0070e0] '(null)' not possible
<yrtp:ALL> YRTPWrapper::startRTP("<phone ip 1>",50726) [0x7f98fc02f900]
<yrtp:INFO> RTP starting format 'alaw' payload 8 [0x7f98fc02f900]
>>> DataTranslator::detachChain(0x7f98fc006f50,0x7f98fc007e80)
<<< DataTranslator::detachChain
<ALL> DataTranslator::attachChain [0x7f98fc006f50] 'alaw' -> [0x7f98fc007e80] 'alaw' succeeded
>>> DataTranslator::detachChain(0x7f98fc005940,0x7f98fc0070e0)
<<< DataTranslator::detachChain
<ALL> DataTranslator::attachChain [0x7f98fc005940] 'alaw' -> [0x7f98fc0070e0] 'alaw' succeeded
<yrtp:ALL> YRTPWrapper::startSRTP('AES_CM_128_HMAC_SHA1_32','inline:69Lro0DKDtf+bZyA3z8St0wYyCc7yzdNWKDDwSJC',(nil)) [0x7f98fc02f900]
<INFO> RTPSecure::setup('AES_CM_128_HMAC_SHA1_32','inline:69Lro0DKDtf+bZyA3z8St0wYyCc7yzdNWKDDwSJC',(nil)) [0x7f98fc005550]
<INFO> RTPSecure::init() encrypt=true authlen=4 [0x7f98fc005550]
<yrtp:NOTE> Started SRTP suite 'AES_CM_128_HMAC_SHA1_32' [0x7f98fc02f900]
<yrtp:ALL> YRTPWrapper::setupSRTP(true) [0x7f98fc02f900]
<INFO> RTPSecure::init() encrypt=true authlen=4 [0x7f98fc03c850]
<NOTE> Choosing started 'audio' format 'alaw' [0x7f98e805ef10]
<yrtp:ALL> RTP/SAVP message received
<yrtp:ALL> Wrapper 0x7f98fc02f900 found by CallEndpoint 0x7f98e8060140
<yrtp:ALL> YRTPWrapper::startRTP("<phone ip 1>",50726) [0x7f98fc02f900]

Other Yate server issues / high cpu usage of an idle yate pbx
« on: April 18, 2016, 08:18:14 AM »
i've setup a yate server with ~100 SIP clients connecting via TLS/SSIP.

yate spans a lot "YSIP Worker" threads where every thread consumes ~ 1% CPU.

so in total Yate uses 50% of one CPU Core when idling.

Basicly its ubuntu default config of yate 5.4.

Is this cpu load normal?
How can the idle cpu load of yate reduced?

output of perf top:

Code: [Select]
  18,38%  [kernel]                    [k] finish_task_switch
  13,89%          [.] 0x00000...
   7,58%  [kernel]                    [k] _raw_spin_unlock_irqrestore
   2,42%  ysipchan.yate               [.] _init
   1,80%  [kernel]                    [k] tcp_recvmsg

tcpdump reports basicly no traffic (1 packet / 10 seconds or so...)

i'm trying to configure an encrypted connection to a sip trunk in yate. the isp followed the standard "Sip Connect 1.1" and requires the sip client (=yate) to connect via a signed client certificate. Its also required that the client sends the certificate chain when connecting.

this connection works:

openssl s_client  -connect <ip>:5061 -CAfile server.pem -cert server.pem -key server.key -debug

does yate support this at all? i couldn't find openssl config parameters for  client connections to a sip trunk.

i'm still getting the same errors as in (but now i have a valid certificate which works with openssl s_client...)

I'm trying to configure a yate server using a sip trunk but it seems to fail at an very early stage when a call is made.

Auth is per IP (no username/password needed) and sRTP + TLS must be used.

Code: [Select]
20160229170153.746701 <sip:ALL> Transport(tls:18-[sip trunk ip]:5061) attempt to connect to '[sip trunk ip]:5061' [0x7f519c067420]
20160229170153.763959 <sip:ALL> Transport(tls:18-[sip trunk ip]:5061) connected local=[local server ip]:50943 remote=[sip trunk ip]:5061 [0x7f519c067420]
20160229170153.769137 <sip:INFO> 'tls:[local server ip]:50943-[sip trunk ip]:5061' sending 'INVITE sip:[called number]@[sip trunk ip]:5061' 0x7f519c026390 [0x7f519c067420]
INVITE sip:[called number]@[sip trunk ip]:5061 SIP/2.0
Max-Forwards: 19
Via: SIP/2.0/TLS [local server ip]:5061;alias;rport;branch=z9hG4bK137996875
From: <sip:+[caller number]@[local server ip]>;tag=391086973
To: <sip:[called number]@[sip trunk ip]:5061>
Call-ID: 2017592690@[local server ip]
CSeq: 201 INVITE
User-Agent: YATE/5.0.0
Contact: <sip:+[caller number]@[local server ip]:5061>
Content-Type: application/sdp
Content-Length: 318

o=yate 1456765312 1456765312 IN IP4 [local public ip]
s=SIP Call
c=IN IP4 [local public ip]
t=0 0
m=audio 23590 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=crypto:1 AES_CM_128_HMAC_SHA1_32 inline:yezuQ6YLQ1ZVv6mQU3ugNCCHpac/3jzTLBDhhGsg

20160229170153.815592 <openssl:MILD> Failed SSLv3 read finished A [0x7f51a4021100]
20160229170153.815704 <sip:WARN> Transport(tls:18-[sip trunk ip]:5061) Socket send error: Invalid argument (22) [0x7f519c067420]

in regexroute i have this:

Code: [Select]
^0.\(.*\)$=sip/sip:${called}@[sip trunk ip]:5061;\
        caller=+[local prefix number]${caller};\

why do i get "Socket send error: Invalid argument (22)"? openssl.conf is configured / the local tls listening port (tcp/5061) seems to basicly work.

(i've replaced ip / number with [ip] [number])

Other Yate server issues / How to escape ; in regexroute.conf?
« on: December 08, 2015, 01:16:18 PM »
i want yate to send a NOTIFY message when 9999 is called to the caller. ( )

this basicly works but i'm having a problem getting a ; into the message:

Code: [Select]
^9999$=rename xsip.generate;\

this results in everything after \ beeing dropped.

how can ; be escaped?

Pages: [1]