Hello,
I'm having trouble getting SEMS to play greetings that I have recorded. I've recorded a greeting and saved it as default_en.wav and SEMS will play that greeting just fine so I know I have the correct file format, but when I upload a greeting via SERWeb, SEMS still plays the default_en.wav greeting. SERWeb renames the file as <username.wav> (without the <> brackets of course) where "username" is the name of the user logged into SERWeb and stores the file in the same directory as default_en.wav.
What could I be doing wrong? I'm running a fairly recent version (downloaded 4-5 weeks ago) of SER and SEMS from the stable CVS branch.
Thanks,
G.
---------------------------------
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
Hi Jiri,
Thanks for that, makes a lot of sence. I did think thats what we were doing so here is my config file for you to have a look at.
Could you go through it and tell me where I am going wrong?
Thanks much,
Stephen
route{
loose_route();
force_rport();
fix_nated_contact();
# 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");
break;
};
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too big");
break;
};
# 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") {
setflag(1); # remember this is ATA
force_rport();
fix_nated_contact();
log("LOG: In NAT clause\n");
#fix_nated_sdp("3");
};
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);
break;
};
if (uri=~"portal.commverge.co.nz") {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("portal.commverge.co.nz", "subscriber")) {
www_challenge("portal.commverge.co.nz", "0");
break;
};
save("location");
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
forward(202.180.125.200,5060);
break;
};
# user on-line...forward to his current destination
forward(uri:host,uri:port);
break;
};
if (uri=~"202.180.83.14") {
log("LOG: In Portal clause!\n");
rewritehostport("portal.commverge.co.nz:5060");
log("LOG: Out of Portal clause!\n");
};
if (!lookup("location")) {
forward(202.180.125.200,5060);
break;
};
# user on-line...forward to his current destination
forward(uri:host,uri:port);
break;
}
route[1]
{
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
}
-----Original Message-----
From: Jiri Kuthan [mailto:jiri@iptel.org]
Sent: Friday, 7 November 2003 12:42 p.m.
To: Stephen Miles
Subject: RE: [Serusers] udp error
At 12:15 AM 11/7/2003, Stephen Miles wrote:
>Hi Jiri,
>
>SIP support is not turned on on our pix so it is just acting as a nat device, much the same as a linux box or standard router.
Than you will need RTP relay. Otherwise the media from public internet
to your natted client will be dropped by the nat box. Also, you will
have to configure ser to send replies symmetricaly (as opposed to
address advertised in Via). Use force_rport for that.
>What is happening though is that the firewall (pix in this case, cisco 827 in others) is not forwarding/natting the same port as the original request. e.i 192.168.18.12 sends sip message to portal on port 5060, firewall gets that and nats it but uses the next avalible port to send out on so the portal (our sip proxy running ser) gets the request from firewall:next_avalible_port, not firewall:5060. It seems that ser doesn't realise this and thats why we get the error, if I set my softphone (X-Lite) to use the next port the firewall is going to use (from watching logs etc) is works. Sortphone sends register as 192.168.18.12:65389 and the firewall does the same firewall:65389 and it works against ser, phone registers and calls can be make.
SIP servers are supposed to reply to port number advertised in
rquest's topmost via header field.
>I hope this makes more sence. If not please let me know as this could be a bit of a show stopper for us using ser and we would very much like to.
Nevertheless, the rtp relay workaround along with SER configured in a nat-friendly
manner should help you out.
-jiri
Problem: One-way audio when forwarding that must go thru another negociate SER server before reaching Endpoint.
I have gotten calls from SER with nathelper and rtp proxy to work reliably btw phones registered with SER box but when I trie to forward the call to a EXT on another SER box not running nathelper with register client with public ip's I get one way audio. After doing some snooping it appears that one direction of the rtp stream end up directed at the rtpproxy and the other direction goes directly to the phone. I know the sip messages must not be getting rewriten properly but I can't seem to get it right.
this is the route section of my ser.cfg
Thanks
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");
break;
};
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too big");
break;
};
# things we think we want to do for every request;
# this box is dedicated to NAT only behavior
record_route();
force_rport();
fix_nated_contact();
# loose-route processing
if (loose_route()) {
t_relay();
break;
};
# 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") {
save("location");
break;
};
if (uri=~"^sip:[7][0][0][1]@") {
rewritehost("sipdemo.xxxx.net");
fix_nated_sdp("3");
force_rtp_proxy();
t_relay();
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
if (method=="INVITE") {
# This appears to make the called party's audio work
fix_nated_sdp("3");
force_rtp_proxy();
# Call the onreply_route? This appears to link calling and called party's audio together
t_on_reply("1");
};
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
if (!t_relay()) {
sl_reply_error();
};
}
# This appears to make calling party's audio work
onreply_route[1] {
if (status=~"2[0-9][0-9]") {
force_rport();
fix_nated_contact();
fix_nated_sdp("3");
force_rtp_proxy();
};
}
Hi,
The manual explains that we can use "t_on_failure" and "failure_route"
primitives to route a SIP request to another destination if the original
destination does not answer. It is very clear to me how this would work for
an INVITE message which receives a confirmation from the far end (like
"Trying"). But when the call is established, the originating party sends
an ACK message which is not supposed to receive a reply. How does SER know
where to send this ACK to?? Does it again try the first destination? If so
then the message will be lost.
And how about INFO messages (like those used to send DTMF tones). Lets say
a call is established to a backup gateway using "failure_route". Then the
user sends a DTMF tone as an INFO message (maybe he called an IVR). How
does SER know that this INFO message must go to the backup gateway? If SER
tries the main gateway first for every single DTMF digit pressed then this
is not going to work properly.
Thanks,
Ricardo Villa
At 05:37 PM 11/6/2003, Garey, Tim wrote:
>Greetings,
>
>I'm very new to the SIP protocol. I am a SQA test engineer with very limited
>experience using Perl and C. Currently I am testing the SIP signaling
>manager on our
>companys softswitch. I would like to use the SER for testing some new
>features, like Record-Route
>and Route Header support amoung other things. But first I'd like to get past
>a problem with
>SER sending multiple invites.
>
>I have successfully installed ser 0.8.10. on a PC running Red Hat Linux.
Better begin with 8.11. In particular, it includes loose routing.
>Detailed OS and SER versions
>are at the end of this message.
>I am not using SQL or Digest/HTTP Authentication. I want to keep things as
>simple as
>possible until I gain more experience with ser.
>
>Here is a simple diagram of my test environment
>
>Phone A --------------- S E R ---------------- Softswitch
>---------------Phone B
>603-753-4033 sip signal mangr
>603-225-1114
>10.16.1.218 10.16.1.147 172.17.4.102
>10.16.1.214
>
> (note: attached media gateway not used for
>sip & not shown)
>
>I believe have setup our softswitch with correct SIP profile, E164 and
>destination route for the Sip Express Router.
>I can successfully originate a call from a phone registered to SER to a
>phone registered to our softswitch using
>the following addition to the default ser.cfg file that comes with ser
>0.8.10
>
>if (method=="INVITE") {
> rewriteuri("sip:6032251114@172.17.4.102");
> forward(172.17.4.102);
>
>
>
>
>Plese refer to the attached network trace diagram. It was captured using
>Ethereal, filtering on all packets to/from
>the sip signaling manager. The trace dump is then manipulated by a sip
>utility tool "sip_scenario" that creates
>a sip call flow diagram with decoded sip packets....this allows ease of
>viewing call flow & packets
>
>QUESTIONS:
>
>1. Why am I receiving multiple invites?
I suppose that's because you first 'forward' and then 't_relay' the message.
>Especially after Phone B answers and
>it's 200OK is received by SER, I see
>another 6 invites (in addition to several extra's at the beginning of the
>message). If I hang up before SER sends
>the last one phone B will ring. It takes about 30 seconds or so to stop.
>
>2. What routing logic can I insert to take any invite starting with 603-225-
>and forward it
>to the softswitch with the correct dialed digits. The above works great but
>is hard coded
>for just one number.
use regular expressions as described in our doc.
if (uri=~"sip:1234.*") {
forward...
break;
}
-jiri
I have install ser-0.8.11-0.i386.rpm, mysql and serweb. My sip phone are
all window messenger. When someone contact a user who is not on-line,
you get this message:-
phone(a)192.168.1.3 has declined your request to have a voice
conversation.
When I login 'phone' to serwweb as a subscriber, under missed calls is
always empty & message store too.
How to make it ring first and after a period go to voicemail if
phone(a)192.168.1.3 is not online?
I went through the document but got confuse. Do you have a example
ser.cfg script that works.
2. Through the web documents there are 2 vm softwares
sems-0.1.0-0.i386.rpm & ortp-0.6.2.tar.gz. which is the right one?
3. if vm is required must you reinstall ser? If yes, what to change in
the makefile?
Help! Thanks!
After playing around with the new firmware (and new SER cvs snapshot
0.8.12dev-22-tcp_aliases) I'm seeing some very strange behavior from SER
(ngrep trace follows):
U 1.1.19.48:1387 -> 1.1.16.55:5060
REGISTER sip:sip.test.net SIP/2.0..Via: SIP/2.0/UDP 1.1.19.48:1388..From: <sip:6526@sip.test.net;user=phone>;tag=50886574..T
o: <sip:6526@sip.test.net;user=phone>..Call-ID: 4136319346@10.118.145.13..CSeq: 160 REGISTER..Contact: <sip:6526@1.1.19.48:
1388;user=phone;transport=udp>;expires=1800..User-Agent: Cisco ATA 186 v2.16.2 ata18x (030909a)..Content-Length: 0....
#
U 1.1.16.55:5060 -> 1.1.19.48:1388 25017@0:1480
...l....SIP/2.0 200 OK..Via: SIP/2.0/UDP 1.1.19.48:1388..From: <sip:6526@sip.test.net;user=phone>;tag=50886574..To: <sip:65
26(a)sip.test.net;user=phone>;tag=0596aef19d8edd571cbf9827f60616bb.97c5..Call-ID: 4136319346@10.118.145.13..CSeq: 160 REGISTER..Co
ntact: <sip:6526@1.1.19.48:1376;user=phone;transport=udp>;q=0.00;expires=30..Contact: <sip:6526@1.1.19.48:1377;user=p
hone;transport=udp>;q=0.00;expires=56..Contact: <sip:6526@1.1.19.48:1378;user=phone;transport=udp>;q=0.00;expires=517..Con
tact: <sip:6526@1.1.19.48:1379;user=phone;transport=udp>;q=0.00;expires=527..Contact: <sip:6526@1.1.19.48:1380;user=p
hone;transport=udp>;q=0.00;expires=652..Contact: <sip:6526@1.1.19.48:1381;user=phone;transport=udp>;q=0.00;expires=780..Co
ntact: <sip:6526@1.1.19.48:1382;user=phone;transport=udp>;q=0.00;expires=911..Contact: <sip:6526@1.1.19.48:1383;user=
phone;transport=udp>;q=0.00;expires=1040..Contact: <sip:6526@1.1.19.48:1385;user=phone;transport=udp>;q=0.00;expires=1303.
.Contact: <sip:6526@1.1.19.48:1386;user=phone;transport=udp>;q=0.00;expires=1532..Contact: <sip:6526@1.1.19.48:1387;u
ser=phone;transport=udp>;q=0.00;expires=1576..Contact: <sip:6526@1.1.19.48:1388;user=phone;transport=udp>;q=0.00;expires=1
800..Server: Sip EXpress router (0.8.12dev-22-tcp_aliases (i386/linux))..Content-Length: 0..Warning: 392 sip.test.net:5060 "Nois
y feedback tells: pid=11260 req_src_ip=1.1.19.48 req_src_port=1387 in_uri=sip
This is repeated over and over and over again. This seems very bizzare to
me. ATAs with earlier firmware don't trigger this behavior. The only
thing that I can see different in the register request is the addition of
the tag in the From: line:
From: <sip:6526@sip.test.net;user=phone>;tag=50886574
whereas the old ATA registers with:
From: <sip:6526@sip.test.net;user=phone>
Any clues?? Thanks!!
- Mike
I get pretty poor audio with Xten while using RTPproxy. The sound is
choppy ever 5 seconds or so I miss half a second. ATA, Snom200,
IPdialog and 7960 give all good results but these are all hardware
phones.
Could someone confirm this happens only with Xten? Anyone tried
successfully another software phone with rtpproxy?
Regards,
Adrian Georgescu
ag(a)ag-projects.com
http://ag-projects.com
Tel: +31-23-5458104
IP phone: sip:ag@ag-projects.com
------------------------------------------------
DNS, ENUM & IP telephony http://managed-dns.org/