Skip to content

Commit

Permalink
mos
Browse files Browse the repository at this point in the history
  • Loading branch information
altanai committed May 28, 2020
1 parent b8afbd3 commit 9c7a808
Show file tree
Hide file tree
Showing 8 changed files with 814 additions and 40 deletions.
34 changes: 32 additions & 2 deletions Lua_RtpEngine_daisyChaining/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ Ensure you have added two RTP engines in rtpengine list file
```bash
id(int,auto) setid(int) url(string) weight(int) disabled(int) stamp(int)
1:1:udp\:<rtpengine_ip1>\:2222:1:0:0
2:2:udp\:1<rtpengine_ip2>\:2222:1:0:0
2:2:udp\:<rtpengine_ip2>\:2222:1:0:0
```

Ensure you have both the RTP engines loaded
```bash
kamcmd -s tcp:<appserver_ip>:2046 rtpengine.show all
```
The outout of this should be
The output of this should be
```bash
{
url: udp:<rtpengine_ip1>:2222
Expand Down Expand Up @@ -186,4 +186,34 @@ Just as explained in issue no 4 some dependencies are lua version specific such
```bash
> luarocks install base58
Error: base58 supports only Lua 5.1 but not Lua 5.2.
```

**Issue 6** proxy replied with error: Ran out of ports
```bash
1(19894) ERROR: rtpengine [rtpengine.c:2588]: rtpp_function_call(): proxy replied with error: Ran out of ports
```
**Solution** check port permission. In my case restrating rtpenine and runinig kacmd rtpengine.eload solved the issues

**Issue 7** Failed to extract streams from SDP: Invalid RTP payload types
```bash
Failed to extract streams from SDP: Invalid RTP payload types
Protocol error in packet from 106.215.152.21:7165: Incomplete SDP specification [d8:supportsl10:load limite3:sdp774:
v=0#015#012o=FreeSWITCH 1590090363 1590090364 IN IP4 172.20.10.2#015#012
s=FreeSWITCH#015#012
c=IN IP4 172.20.10.2#015#012
t=0 0#015#012
a=msid-semantic: WMS Zmjg65pfviISGEmPFeOwUXi8jk0cvpOk#015#012
m=audio 30676 RTP/AVPF 8 101#015#012
a=rtpmap:8 PCMA/8000#015#012
a=rtpmap:101 telephone-event/8000#015#012
a=ptime:20#015#012
a=rtcp:30677 IN IP4 172.20.10.2#015#012
a=ice-ufrag:fFz0sHYBSPDe4iow#015#012
a=ice-pwd:6FUQbpWQrL2ZMS2RorIGZx8H#015#012a=candidate:2330066942 1 udp ...
659136 172.20.10.2 30676 typ host generation 0#015#012
a=candidate:2330066942 2 udp 659135 172.20.10.2 30677 typ host generation 0#015#012
a=end-of-candidates#015#012
a=ssrc:1122649911 cname:BYryTGEfOcYlHb0c#015#012a=ssrc:1122649911 msid:Zmjg65pfviISGEmPFeOwUXi8jk0cvpOk a0#015#012
a=ssrc:1122649911 mslabel:Zmjg65pfviISGEmPFeOwUXi8jk0cvpOk#015#012a=ssrc:1122649911 label:Zmjg65pfviISGEmPFeOwUXi8jk0cvpOka0#015#012
m=audio 0 RTP/AVPF 193:ICE6:remove5:label10:Cleg_label5:flagsl19:full-rtcp-attributee7:replacel6:origin18:session-connectione18:transport-protocol8:RTP/AVPF7:call-id49:103103N2JhNjlhZTk3YjkxM2Y3ZWY0NzFhMzU3Y2ZmN2NlNWY13:received-froml3:IP411:172.20.10.2e8:from-tag8:45e1e95f6:to-tag13:Ht9rSU4mBFN5H7:command6:answere]
```
76 changes: 76 additions & 0 deletions Lua_RtpEngine_daisyChaining/rtpengine1.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
[rtpengine]

table = 0
# no-fallback = false
### for userspace forwarding only:
# table = -1

### a single interface:
# interface = 123.234.345.456
### separate multiple interfaces with semicolons:
# interface = internal/12.23.34.45;external/23.34.45.54
### for different advertised address:
# interface = 12.23.34.45!23.34.45.56



listen-ng = 127.0.0.1:2223
# listen-tcp = 25060
# listen-udp = 12222

timeout = 60
silent-timeout = 3600
tos = 184
#control-tos = 184
# delete-delay = 30
# final-timeout = 10800

# foreground = false
# pidfile = /run/ngcp-rtpengine-daemon.pid
# num-threads = 16

port-min = 30000
port-max = 40000
# max-sessions = 5000

# recording-dir = /var/spool/rtpengine
# recording-method = proc
# recording-format = raw

# redis = 127.0.0.1:6379/5
# redis-write = [email protected]:6379/42
# redis-num-threads = 8
# no-redis-required = false
# redis-expires = 86400
# redis-allowed-errors = -1
# redis-disable-time = 10
# redis-cmd-timeout = 0
# redis-connect-timeout = 1000

# b2b-url = http://127.0.0.1:8090/
# xmlrpc-format = 0

# log-level = 6
# log-stderr = false
# log-facility = daemon
# log-facility-cdr = local0
# log-facility-rtcp = local1

# graphite = 127.0.0.1:9006
# graphite-interval = 60
# graphite-prefix = foobar.

# homer = 123.234.345.456:65432
# homer-protocol = udp
# homer-id = 2001

# sip-source = false
# dtls-passive = false

[rtpengine-testing]
table = -1
interface = 10.15.20.121
listen-ng = 2223
foreground = true
log-stderr = true
log-level = 7
76 changes: 76 additions & 0 deletions Lua_RtpEngine_daisyChaining/rtpengine2.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
[rtpengine]

table = 0
# no-fallback = false
### for userspace forwarding only:
# table = -1

### a single interface:
# interface = 123.234.345.456
### separate multiple interfaces with semicolons:
# interface = internal/12.23.34.45;external/23.34.45.54
### for different advertised address:
# interface = 12.23.34.45!23.34.45.56



listen-ng = 127.0.0.1:2223
# listen-tcp = 25060
# listen-udp = 12222

timeout = 60
silent-timeout = 3600
tos = 184
#control-tos = 184
# delete-delay = 30
# final-timeout = 10800

# foreground = false
# pidfile = /run/ngcp-rtpengine-daemon.pid
# num-threads = 16

port-min = 30000
port-max = 40000
# max-sessions = 5000

# recording-dir = /var/spool/rtpengine
# recording-method = proc
# recording-format = raw

# redis = 127.0.0.1:6379/5
# redis-write = [email protected]:6379/42
# redis-num-threads = 8
# no-redis-required = false
# redis-expires = 86400
# redis-allowed-errors = -1
# redis-disable-time = 10
# redis-cmd-timeout = 0
# redis-connect-timeout = 1000

# b2b-url = http://127.0.0.1:8090/
# xmlrpc-format = 0

# log-level = 6
# log-stderr = false
# log-facility = daemon
# log-facility-cdr = local0
# log-facility-rtcp = local1

# graphite = 127.0.0.1:9006
# graphite-interval = 60
# graphite-prefix = foobar.

# homer = 123.234.345.456:65432
# homer-protocol = udp
# homer-id = 2001

# sip-source = false
# dtls-passive = false

[rtpengine-testing]
table = -1
interface = 10.15.20.121
listen-ng = 2223
foreground = true
log-stderr = true
log-level = 7
97 changes: 97 additions & 0 deletions Lua_RtpEngine_daisyChaining/sipp_uac_rtpecho.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<!-- -->
<!-- Sipp default 'uac' scenario. -->
<!-- -->
<scenario name="sipp RTPengine UAC">
<send retrans="500">
<![CDATA[
INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Type: application/sdp
Content-Length: [len]
v=0
o=zt 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVPF 0
a=rtpmap:0 PCMU/8000
]]>
</send>

<recv response="100" optional="true"></recv>
<recv response="180" optional="true"></recv>
<!--
By adding rrs="true" (Record Route Sets), the route sets
are saved and used for following messages sent. Useful to test against stateful SIP proxies/B2BUAs.
-->
<recv response="200" rtd="true">
<action>
<ereg regexp="sip:.*@([0-9]{1,3}\.){3}[0-9]{1,3}" search_in="hdr" header="Contact:" check_it="true"
assign_to="6"/>
</action>
</recv>
<!--
Packet lost can be simulated in any send/recv message by
by adding the 'lost = "10"'. Value can be [1-100] percent.
-->
<send>
<![CDATA[
ACK [$6] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 1 ACK
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<!--
This delay can be customized by the -d command-line option
or by adding a 'milliseconds = "value"' option here.
-->
<pause milliseconds="20000"/>
<!--
The 'crlf' option inserts a blank line in the statistics report.
-->
<send retrans="500">
<![CDATA[
ACK [$6] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id] CSeq: 2 BYE
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<recv response="200" crlf="true"></recv>
<!--
definition of the response time repartition table (unit is ms)
-->
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<!--
definition of the call length repartition table (unit is ms)
-->
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>
Loading

0 comments on commit 9c7a808

Please sign in to comment.