Comments (4)
The uuid command is the one from here:
http://www.ossp.org/pkg/lib/uuid/
But is there a reason why you can't just test it in a proper SIP environment, e.g. called from Kamailio?
from rtpengine.
Yes I can ofcourse use kamailio and sip softphone to test, I was only looking for the shortest way .
Also since my alteration to the code to make rtpengine ipv4 - ipv4/ipv6 compatible , yields errors , it would be awesome if you could drop me a hint on how to achieve it .
from rtpengine.
You can either try to adapt tests/simulator-ng.pl or hand-roll a test case using utils/ng-client yourself.
As a first step, the latter option might be preferable.
The script utils/ng-client serves as a simple CLI interface to issue commands to rtpengine. Most options and flags present within the control protocol are implemented as CLI options to ng-client -- if any are missing or new, they can easily be added.
In the simplest case, you'd issue one offer and one answer using ng-client and some simple hand-crafted SDP bodies. Afterwards, you can use netcat or any other UDP-capable tool to test packet forwarding.
For example, you could put the following into a text file called "offer":
v=0
o=- 123456 0 IN IP4 192.168.0.1
s=session
t=0 0
m=audio 7654 RTP/AVP 1 2 3 4
c=IN IP4 192.168.0.1
Then copy it to another file "answer" and in there, change the port from 7654 to 5432. You'll have to adapt the IP address to your local address.
Then use ng-client to issue both offer and answer:
./ng-client offer --call-id=abcde --from-tag=xyz --trust-address --sdp-file=offer
./ng-client answer --call-id=abcde --from-tag=xyz --to-tag=foo --trust-address --sdp-file=answer
Note that you'll need additional options to enable whatever bridging functionality you're working on. The output of each command will be the rewritten SDP body: take note of IP address and port. Let's say IP address comes back as 192.168.100.100 both times and the ports are 30000 and 30002.
Then use netcat in UDP mode in two terminals. Note how the ports are swapped between the offer and the answer (first netcat uses local port from offer, but remote port received from answer, and vice versa):
netcat -u -p 7654 192.168.100.100 30002
netcat -u -p 5432 192.168.100.100 30000
Now you should be able to type messages back and forth between the two netcats. Keep an eye on the log produced by rtpengine while you're doing this. You may have to raise the timeout values when starting rtpengine.
The simulator-ng script automates this process with many calls in parallel and supports all kinds of different scenarios. It can be tricky to implement a new test case into simulator-ng, which is why I suggest to try it manually first, to see if anything works at all. Otherwise you wouldn't know whether it's the script that's not working right, or rtpengine.
from rtpengine.
IPv4/IPv4 bridging will be supported soon, see issue #4
from rtpengine.
Related Issues (20)
- RTP Engine two interfaces with private IPs HOT 2
- dtls-mtu param does not have any effect on RTPEngine HOT 5
- Codec / Transcoding information returned by ng query
- How to determine the multi-channel sequence of recording
- cannot compile mr8.5.12 HOT 2
- RFC 2833 issue - tripling of digits due to final 2 payloads getting new timestamp HOT 3
- Proposal to change this log from ERR to WARN HOT 1
- UBSAN: array-index-out-of-bounds in /var/lib/dkms/rtpengine/12.2.1.5/build/xt_RTPENGINE.c:5156:32
- compile rtpengine failed on ubuntu 22.04 with error "undefined reference to `av_channel_layout_default'" HOT 4
- SRTP output wanted, but no crypto suite was negotiated HOT 1
- rtpengine mr10.5 crashed in __dtx_send_later HOT 2
- `silent-timeout` not working HOT 1
- for rhel 8.9 mr11.5 there is an compilation issue HOT 1
- rtpengine not support H264 HOT 1
- call.h:921:7: error: unknown type name ‘__auto_type
- kamailio rtpengine re-INVITE HOT 1
- kzalloc() return 0. HOT 6
- DKMS Rebuild modules failed HOT 2
- libg729 crash on rtpengine 9.5.2
- Wrong IPv session stats HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rtpengine.