Hi,
Thanks for the detailed explanation. It's really useful.
I'm trying to automate this whole process. All tools except Ethereal (tcpdump, rtpdump, voiceage decoder) are command line tools that can be used in a batch/shell script.
How can I export rtp stream without using Ethereal, or from command line ?
is there a way ?
Thanks,
ilker
-----Original Message-----
From: Andres [mailto:andres@telesip.net]
Sent: Monday, July 24, 2006 8:18 PM
To: İlker Aktuna (Koç.net)
Cc: serusers(a)iptel.org
Subject: Re: [Serusers] decoding g729 encoded rtp streams
İlker Aktuna (Koç.net) wrote:
> Hi,
>
> Thanks for the information.
> Actually, I downloaded it but couldn't find how to export rtp payload.
> Does rtpdump read capture files recorded with Ethereal/tcpdump ?
> (in which format should I save the file?)
>
> Btw, there is a Windows sniffer named "Cain & Abel" this one decodes g729.
>
> Thanks,
> ilker
>
First you export the RTP data from within Ethereal like this:
1. Open Capture
2. Click on Analyze->Statistics->RTP Streams->Show All 3. Select the stream you want to export 4. Click 'Save As'
5. Then feed that file into rtpdump like the below example 'trace.rtp'.
Here is the command line:
rtpdump -F payload -f trace.rtp -o file.out
file.out will contain just the payload which can then be decoded.
>
>
> -----Original Message-----
> From: Andres [mailto:andres@telesip.net]
> Sent: Friday, July 21, 2006 10:53 PM
> To: İlker Aktuna (Koç.net)
> Cc: serusers(a)iptel.org
> Subject: Re: [Serusers] decoding g729 encoded rtp streams
>
> İlker Aktuna (Koç.net) wrote:
>
> > Hi,
> >
> > I know that there are licence and patent issues but is it possible
> > to decode g729 encoded rtp streams with any software ?
> > I have licenced Eybeam softphone with g729 support. But it can only
> > decode streams in a conversation.
> > I just need to decode streams recorded with tcpdump/ethereal.
> >
> > Once I had used a software with this feature but then it turned out
> > to be a trojan. I don't remember the name now.
> > Is there any other software ? (or method using Eyebeam ?)
> >
> > Thanks,
> > ilker
>
> You can download the decoder from:
> http://www.voiceage.com/openinit_g729.php
>
> Then capture the RTP Stream with Ethereal and export the Payload
> (using rtpdump from http://www.cs.columbia.edu/IRT/software/rtptools/).
>
> You can then decode it with the above software.
>
>
_____________________________________________________________________________________________________________________________________________
Bu e-posta mesaji kisiye ozel olup, gizli bilgiler iceriyor olabilir. Eger bu e-posta mesaji size yanlislikla ulasmissa, icerigini hic bir sekilde kullanmayiniz ve ekli dosyalari acmayiniz. Bu durumda lutfen e-posta mesajini kullaniciya hemen geri gonderiniz ve tum kopyalarini mesaj kutunuzdan siliniz. Bu e-posta mesaji, hic bir sekilde, herhangi bir amac icin cogaltilamaz, yayinlanamaz ve para karsiligi satilamaz. Bu e-posta mesaji viruslere karsi anti-virus sistemleri tarafindan taranmistir. Ancak yollayici, bu e-posta mesajinin - virus koruma sistemleri ile kontrol ediliyor olsa bile - virus icermedigini garanti etmez ve meydana gelebilecek zararlardan dogacak hicbir sorumlulugu kabul etmez.
This message is intended solely for the use of the individual or entity to whom it is addressed , and may contain confidential information. If you are not the intended recipient of this message or you receive this mail in error, you should refrain from making any use of the contents and from opening any attachment. In that case, please notify the sender immediately and return the message to the sender, then, delete and destroy all copies. This e-mail message, can not be copied, published or sold for any reason. This e-mail message has been swept by anti-virus systems for the presence of computer viruses. In doing so, however, sender cannot warrant that virus or other forms of data corruption may not be present and do not take any responsibility in any occurrence.
_____________________________________________________________________________________________________________________________________________
Hi!
Some questions regarding tm:
How long does statefull transactions live inside openser? Is it correct
that wt_timer is the timeout for completed transactions, and
fr_inv_timer/fr_timer is for incomplete transactions?
What is a complete transaction in case of INVITE? With or without ACK?
openserctl shows 44 transactions although the box is idle since long time:
tm:inuse_transactions = 044
Are there really 44 transaction open or what does 044 mean?
How much memory does a transaction approximately need (no AVPs)?
thanks
klaus
Hi guys.
I'd like to hear about different methods of implementing cisco like
transtation rules in SER. I was thinking about AVPs, but still couldn't find
the ight way.
Is someone is doing it inside or outside ser, please shed a light on
this!. What i need is to stip some numbers, and then add some other
(variables) before proxying the calls.
Thanks in advance.
Hi all,
I want to know how OpenSER is able to identify the BYE that match a
dialog. what are the essential header needed for the BYE message?
I try to understand how work the acc module and what are the header
needed in the BYE for generate accounting.
My goal as i have wrote is to send a fake BYE to OpenSER and do
accounting.
In my test OpenSER correctly parse fake BYE and try to send the BYE to
the UA, but don't send accounting info maybe i missing something
essential for send acct.
My fake BYE have: Via, Record-Route with ftag, To to-tag, From from-tag,
Call-ID. i miss only the correct CSeq but i insert a custom CSeq like
9999.
Any hints pls?
:tele
Can anyone advise on the easiest way to know from which direction an INVITE
is coming (ie. From my user to the world, or From the world to my user)?
Thanks in advance.
Hi Norman!
I'Ve never had any problem with the default debian script (the one that
gets installed when compiling debian packages with "make deb".) on sarge.
Which debian are you using?
regards
klaus
SourceForge.net wrote:
> Bugs item #1527750, was opened at 2006-07-24 13:05
> Message generated for change (Tracker Item Submitted) made by Item Submitter
> You can respond by visiting:
> https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1527750&group_…
>
> Please note that this message will contain a full copy of the comment thread,
> including the initial issue submission, for this request,
> not just the latest update.
> Category: tools
> Group: ver devel
> Status: Open
> Resolution: None
> Priority: 5
> Submitted By: Norman Brandinger (goestelecom)
> Assigned to: Nobody/Anonymous (nobody)
> Summary: openser.init
>
> Initial Comment:
> On debian, the openser.init script fails because the
> directory below does not exist:
>
> /etc/rc.d/init.d/functions
>
> In addition, the killproc command does not exist.
>
> I have commented the "functions" line and replaced
> killproc with killall after installing apt-get install
> psmisc.
>
> Not sure if these changes are "correct".
>
> Is it reasonable to have perhaps have a couple of init
> scripts, tweaked for different operating systems ?
>
> Regards,
> Norm
>
>
> ----------------------------------------------------------------------
>
> You can respond by visiting:
> https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1527750&group_…
>
> _______________________________________________
> Devel mailing list
> Devel(a)openser.org
> http://openser.org/cgi-bin/mailman/listinfo/devel
hello,
I am new to SER, the thing is I want to route a call thru SER
without registering at SER. let me explain in more detail.........if there
SIP phones are running diffrent machine say A and B. SER is running on my
machine. if any one sip phone wants to call other sip phone, the call must
be registered.
i want to make this registartion feature off. that means call should be
routed thru SER but it wont be registered at SER.
please help me
Thnaking u,
dilip
Hi, Thanks for the message, I found libmysqlclient.so.10 in /usr/lib/mysql, tried creating a symbolic link to it in /usr/local/lib/ser/modules, that didnt work. Then I copied libmysqlclient.so.10 to /usr/local/lib/ser/modules as libmysqlclient.so.12, that didnt work either, I still get exactly the same error saying "ser: ERROR: load_module: could not open module </usr/local/lib/ser/modules/mysql.so>: libmysqlclient.so.12: cannot open shared object file: No such file or directory" I am sure the file does exist, still SER complains No such file or directory.... Isnt this very very strange? Anyother ideas?Thanks again! Cheers ^C _____________________________________________________________Hi,libmysqlclient.so.x exist under /usr/local/lib/mysql/ in FreeBSD. Ihave SER running on my FreeBSD 5.4 box now and I had this problembefore as well. What I did is just created a symbolic llink tolibmysqlcllient.so.10, named libmysqlclient.so.12 as in# cd /usr/local/lib/mysql# ln -s libmysqlclient.so.10 libmysqlclient.so.12Though some ppl might discourage such a practice, it works well for me. Andrey.
Hi!
I tried to test openser's call setup performance.
Scenario: INVITE - 180 - 200
Server: 2 x P3 1266MHz
listen=UDP:...
children=100
I used SIPP for testing.
1. Although the config is rather simple (no DNS, no DB, no lookup) I
can't get more than 700 INVITE transactions per second. Shouldn't this
be higher (AFAIK ser powers the whole bay area on a handheld PC)?
2. With children = 100, I can see more than 200 threads and lots of unix
sockets opened, although no DB is used. Why?
3. openser core dumps when children=200
regards
klaus
#
# $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
/* Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=100
fifo="/tmp/openser_fifo"
listen=udp:83.136.32.132:5060
#listen=tcp:83.136.32.132:5060
#listen=tls:83.136.32.132:5061
#
# uncomment the following lines for TLS support
#disable_tls = 0
#tls_verify_client = 0
#tls_verify_server = 0
#tls_require_client_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
#loadmodule "/usr/lib/openser/modules/mysql.so"
loadmodule "/usr/lib/openser/modules/sl.so"
loadmodule "/usr/lib/openser/modules/tm.so"
loadmodule "/usr/lib/openser/modules/rr.so"
loadmodule "/usr/lib/openser/modules/maxfwd.so"
loadmodule "/usr/lib/openser/modules/usrloc.so"
loadmodule "/usr/lib/openser/modules/registrar.so"
loadmodule "/usr/lib/openser/modules/textops.so"
loadmodule "/usr/lib/openser/modules/avpops.so"
loadmodule "/usr/lib/openser/modules/xlog.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
#loadmodule "/usr/lib/openser/modules/auth.so"
#loadmodule "/usr/lib/openser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
#modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
if (!method=="REGISTER")
record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
avp_printf("$avp(s:target)","sip:83.136.32.134;transport=udp");
avp_pushto("$ru","$avp(s:target)");
t_relay();
exit;
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
# if you have some interdomain connections via TLS
#if(uri=~"@tls_domain1.net") {
# t_relay_to_tls("IP_domain1","port_domain1");
# exit;
#} else if(uri=~"@tls_domain2.net") {
# t_relay_to_tls("IP_domain2","port_domain2");
# exit;
#}
route(1);
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest
authentication
#if (!www_authorize("openser.org", "subscriber")) {
# www_challenge("openser.org", "0");
# exit;
#};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
route[1] {
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
exit;
}