Hi all,
Have been trying to get media proxy to work with 0.8.14 and am not
having a huge amount of joy. Basically the route processing seems to be
fine, but as soon as ser attempts to actually pass traffic through media
proxy it crashes out!
Aug 5 15:30:13 sip /sbin/ser[3066]: NAT: Request from RFC Private IP
Detected --> mediaproxy flagged
Aug 5 15:30:13 sip /sbin/ser[3066]: VOICEMAIL: VM user detected -->
activating VM Flag
Aug 5 15:30:13 sip /sbin/ser[3066]: NAT: Caller is NAT'd (destination
offline) --> enable reply processing
Aug 5 15:30:13 sip /sbin/ser[3066]: NAT: Invite received --> enabling
media proxy
Aug 5 15:30:13 sip /sbin/ser[3052]: child process 3066 exited by a
signal 11
Aug 5 15:30:13 sip /sbin/ser[3052]: core was not generated
Aug 5 15:30:13 sip /sbin/ser[3052]: INFO: terminating due to SIGCHLD
Aug 5 15:30:13 sip /sbin/ser[3186]: INFO: signal 15 received
Aug 5 15:30:13 sip /sbin/ser[3193]: INFO: signal 15 received
(the same is true if the destination is online as well).
I may have a problem with symmetric/asymmetric clients, but I don't
think ser should actually crash like that... does anyone have any ideas?
Dave
Hello I am trying ser-0.8.14, acc.so with radiusclient-0.4.3 ...
these are the errors:
acc - initializing...
0(29822) find_export: found <print_dlg> in module tm [/usr/local/lib/ser/modules/tm.so]
0(29822) ERROR: acc: can't get code for the Sip-Translated-Request-URI attribute
0(29822) init_mod(): Error while initializing module acc
ERROR: error while initializing modules
0(29822) DEBUG: tm_shutdown : start...
So I have changed the attribute like this:
# ATTRIBUTE Sip-Translated-Req-ID 107 string # Schulzrinne
ATTRIBUTE Sip-Translated-Request-URI 107 string
but now I have this error:
acc - initializing...
0(29836) find_export: found <print_dlg> in module tm [/usr/local/lib/ser/modules/tm.so]
0(29836) ERROR: acc: can't get code for the Failed attribute value
0(29836) init_mod(): Error while initializing module acc
ERROR: error while initializing modules
0(29836) DEBUG: tm_shutdown : start
0(29836) DEBUG: tm_shutdown : empting DELETE list
0(29836) DEBUG: tm_shutdown : empting hash table
any idea?
Rafael
---------------------------------
Do You Yahoo!?
Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo.
Visíta Yahoo! Noticias.
Hi Richard,
I'm experiencing similar problems..
NATPhone -------------- SER ------------------- Public phone
the Ser-server has a public ip-address. They both register fine but
when I make a call from the natphone to the publicPhone the public
phone can hear my voice but I can't hear the publicPhone.
INVITE from the log file:
SIP/2.0 200 OK^M
Via: SIP/2.0/UDP 10.0.0.2:5070;received=213.219.137.171;rport=5070^M
Supported: replaces^M
User-Agent: SIP201 (lp201sip.100a)^M
Contact: <sip:joachim@212.71.17.178:5070>^M
Record-Route:
<sip:1@212.71.0.60:5070;lr;ftag=a000002-13ce-41123427-943ea0-4d15>^M
From: <sip:bart@ser.edpnet.net:5070>
;tag=a000002-13ce-41123427-943ea0-4d15^M
To: <sip:1@ser.edpnet.net:5070;user=phone>
;tag=d44711b2-13ce-1135c2-433a03fc-1d24^M
Call-ID: 522c24-a000002-13ce-41123427-943e9b-28ff(a)ser.edpnet.net^M
CSeq: 1 INVITE^M
Content-Type: application/sdp^M
Content-Length:158^M
^M
v=0^M
o=SIP201 12367 0 IN IP4 212.71.17.178^M
s=Audio Session^M
i=Audio Session^M
c=IN IP4 212.71.17.178^M
t=0 0^M
m=audio 16384 RTP/AVP 4^M
a=rtpmap:4 G723/8000/1^M
When I make a Call from the PublicPhone to the natPhone We both don't
hear a thing and the INVITE is like this:
SIP/2.0 200 OK^M
Via: SIP/2.0/UDP 212.71.17.178:5070^M
Supported: replaces^M
User-Agent: SIP201 (lp201sip.100a)^M
Contact: <sip:bart@10.0.0.2:5070>^M
Record-Route:
<sip:2@212.71.0.60:5070;lr;ftag=d44711b2-13ce-113882-4344c26a-146f>^M
From: <sip:joachim@ser.edpnet.net:5070>
;tag=d44711b2-13ce-113882-4344c26a-146f^M
To: <sip:2@ser.edpnet.net:5070;user=phone>
;tag=a000002-13ce-411236e9-9f0123-31fd^M
Call-ID: 522dc4-d44711b2-13ce-113882-4344c265-649(a)ser.edpnet.net^M
CSeq: 1 INVITE^M
Content-Type: application/sdp^M
Content-Length:148^M
^M
v=0^M
o=SIP201 12367 0 IN IP4 10.0.0.2^M
s=Audio Session^M
i=Audio Session^M
c=IN IP4 10.0.0.2^M
t=0 0^M
m=audio 16384 RTP/AVP 4^M
a=rtpmap:4 G723/8000/1^M
Is this because there's a private address (10.0.0.2) in the sipmessage?
thanks,
Bart
> -----Original Message-----
> From: Richard [mailto:mypop3mail@yahoo.com]
> Sent: woensdag 4 augustus 2004 12:15
> To: serusers(a)lists.iptel.org
> Subject: [Serusers] rtpproxy with parallel forking
>
> Hi,
>
> When I have one phone behind NAT, rtpproxy works well.
>
> However if a call goes to two phones (one behind NAT and one
> not) and ser (or more precisely cpl-c) does parallel forking,
> the call can go through but there is no voice on either
> direction. I have a modparam("cpl-c", "proxy_route", 2) and
> route(2) calls force_rtp_proxy().
>
> Has anyone tried this before? Is rtpproxy capable to handle
> multiple forked calls?
>
> Thanks,
> Richard
>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> New and Improved Yahoo! Mail - 100MB free storage!
> http://promotions.yahoo.com/new_mail
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
Hello,
while trying to compile sip_router on solaris,I get an Error.
SunOS ksi 5.8 sparc, gcc3.2.2, GNU make 3.80
The actually unstable code from CVS.
Who can me helfen?
gcc -g -O9 -funroll-loops -Wall -mcpu=ultrasparc -mtune=ultrasparc
-DNAME='""' -DVERSION='"0.8.99-dev"' -DARCH='"sparc64"' -DOS='"solaris"'
-DCOMPILER='"gcc 3.2"' -D__CPU_sparc64 -D__OS_solaris
-DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP
-DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DF_MALLOC
-DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024
-DHAVE_GETIPNODEBYNAME -DHAVE_SYS_SOCKIO_H -DHAVE_SCHED_YIELD -c
daemonize.c -o daemonize.o
In file included from daemonize.c:49:
/usr/include/sys/resource.h:144: field `ru_utime' has incomplete type
/usr/include/sys/resource.h:145: field `ru_stime' has incomplete type
/usr/include/sys/resource.h:160: confused by earlier errors, bailing out
make: *** [daemonize.o] Error 1
Thanks
Ming
_________________________________________________________________
Die ultimative Fan-Seite für den MSN Messenger http://www.ilovemessenger.de
Emoticons und Hintergründe kostenlos downloaden!
hi, all
I have download the 0.8.14 and latest rtpproxy(Download:
http://www.portaone.com/~sobomax/rtpproxy.tar )
when I start ser it said the follow errors:
1(2747) 1(2747) DEBUG: init_mod_child (-1): nathelper
1(2747) ERROR: send_rtpp_command: can't read reply from a RTP proxy
1(2747) WARNING: rtpp_test: can't get version of the RTP proxy
1(2747) WARNING: rtpp_test: support for RTP proxyhas been disabled
temporarily
1(2747) DEBUG: init_mod_child (-1): tm
1(2747) DEBUG: callid: '77dbb3f8-2747(a)127.0.0.1'
1(2747) DEBUG: init_mod_child (-1): usrloc
DBG: open_uac_fifo: opening fifo...
1(2747) DEBUG: FIFO created @ /tmp/ser_fifo
1(2747) DEBUG: fifo /tmp/ser_fifo opened, mode=432
2(0) INFO: fifo process starting: 2748
2(0) DEBUG: init_mod_child (-2): nathelper
2(0) ERROR: send_rtpp_command: can't read reply from a RTP proxy
2(0) WARNING: rtpp_test: can't get version of the RTP proxy
2(0) WARNING: rtpp_test: support for RTP proxyhas been disabled
temporarily
it seem rtpproxy don't reply to nathelper. Can someone know how to fix
it?
My ser.cfg as below:
#debug=3 # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no # (cmd line: -E)
/*
debug=7
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=4
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
modparam("usrloc", "db_mode", 0)
# -- 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");
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
record_route();
# 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;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
#inserted by klaus
if (method=="INVITE") {
record_route();
force_rtp_proxy();
/* set up reply processing */
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();
};
}
#inserted by klaus
# all incoming replies for t_onrepli-ed transactions enter here
onreply_route[1] {
if (status=~"[12][0-9][0-9]")
force_rtp_proxy();
}
hello friends
in nat its not working
i have downloaded the stable cvs version of ser
and rtp proxy of
[root@server rtpproxy]# ./rtpproxy -v
20040107
and my ser.cfg file looks like this
*******************************************************
debug=8 # debug level
fork=yes
log_stderror=yes # (cmd line: -E)
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
# ------------------ module loading
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
# !! Nathelper
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
# ----------------- setting module-specific parameters
# -- usrloc params --
modparam("usrloc", "db_mode", 0)
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
# !! Nathelper
modparam("registrar", "nat_flag", 6)
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 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");
break;
};
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too
big");
break;
};
# !! Nathelper
# Special handling for NATed clients; first,
NAT test is
# executed: it looks for via!=received and
RFC1918 addresses
# in Contact (may fail if line-folding is
used); also,
# the received test should, if completed,
should check all
# vias for rpesence of received
if (nat_uac_test("3")) {
# Allow RR-ed requests, as these may
indicate that
# a NAT-enabled proxy takes care of
it; unless it is
# a REGISTER
if (method == "REGISTER" || !
search("^Record-Route:")) {
log("LOG: Someone trying to
register from private IP, rewriting\n");
# This will work only for user
agents that support symmetric
# communication. We tested quite
many of them and majority is
# smart enough to be symmetric. In
some phones it takes a configuration
# option. With Cisco 7960, it is
called NAT_Enable=Yes, with kphone it is
# called "symmetric media" and
"symmetric signalling".
fix_nated_contact(); # Rewrite
contact with source IP of signalling
if (method == "INVITE") {
fix_nated_sdp("1"); # Add
direction=active to SDP
};
force_rport(); # Add rport
parameter to topmost Via
setflag(6); # Mark as NATed
};
};
# 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);
break;
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
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;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound
alias\r\n");
route(1);
break;
};
# native SIP destinations are handled
using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not
Found");
break;
};
};
append_hf("P-hint: usrloc applied\r\n");
route(1);
}
route[1]
{
# !! Nathelper
if
(uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)"
&& !search("^Route:")){
sl_send_reply("479", "We don't forward to
private IP addresses");
break;
};
# if client or server know to be behind a NAT,
enable relay
if (isflagset(6)) {
force_rtp_proxy();
};
# NAT processing of replies; apply to all
transactions (for example,
# re-INVITEs from public to private UA are
hard to identify as
# NATed at the moment of request processing);
look at replies
t_on_reply("1");
# send it out now; use stateful forwarding as
it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
}
# !! Nathelper
onreply_route[1] {
# NATed transaction ?
if (isflagset(6) && status =~ "(183)|2[0-9][0-9]")
{
fix_nated_contact();
force_rtp_proxy();
# otherwise, is it a transaction behind a NAT and
we did not
# know at time of request processing ? (RFC1918
contacts)
} else if (nat_uac_test("1")) {
fix_nated_contact();
};
}
*******************************************************
and in ethereal report i found this
******************************************************
[root@server root]# tethereal -r test1.eth
tethereal: Symbol `pcap_version' has different size in
shared object, consider re-linking
1 0.000000 202.65.*.* -> 202.65.*.* UDP Source port:
5001 Destination port: 5060[Malformed Packet]
2 4.084851 202.65.*.* -> 202.65.*.* SIP/SDP
Request: INVITE sip:216110@202.65.*.*, with session
description
3 4.090585 202.65.*.* -> 202.65.*.* SIP Status:
100 trying -- your call is important to us
4 4.090761 202.65.*.* -> 202.65.*.* SIP/SDP
Request: INVITE sip:216110@202.65.*.*:5060, with
session description
5 4.095809 202.65.*.* -> 202.65.*.* ICMP
Destination unreachable
26 33.931583 202.65.*.* -> 202.65.*.* SIP Status:
408 Request Timeout
27 33.952005 202.65.*.* -> 202.65.*.* SIP Request:
ACK sip:216110@202.65.*.*
*******************************************************
with regards
rama kanth
__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail
>
> BTW, very nice email domain -- magrathea-telecom ;-), I am sure you will
> like the Call-ID and CSeq we put into aliases table, see
>
> http://lists.iptel.org/pipermail/serdev/2004-July/002465.html
>
Grin - I've already noticed that!
> for more details.
>
> > a) Incoming call has no remote-party-id, but does have a numeric from
> > address. Create a remote-party-id based on the from address.
>
> Stock ser makes it possible to create the remote-party-id based on the
> digest credentials username. When you perform digest authentication,
> it will retrieve the rpid value either from the database (subscriber
> table) or from radius server and create a new remote-party-id header
> field.
Yes, we are already using that for our basic features.
> > b) Either we have a remote-party-id passed with the initial call, or
> > the one we constructed in (a). Now prepend a digit string pulled from
> > the database to the user part of the remote-party-id uri.
>
> If you prepend the same string to all numbers then you can configure
> it in the configuration file of ser using rpid_prefix and rpid_suffix
> parameters.
>
> If you need it on per-subscriber basis then you can include the prefix
> directly in rpid column in subscriber table.
We want to prefix on a per-subscriber basis to whatever has been passed with
the incoming INVITE.
Many thanks for the replies - I think that I am actually going to have to
write a module to do this, but I don't think that it should be too
complicated!
LInus
Im using Xlite and running ser. the default config works but when I modify
the ser.cfg to what Ive included
below, ngrep reports the errors below and xlite gives a "login timeout,
contact network administrator." I'll
just paste all the logs, please let me know what could be wrong with the
config:
##############################################################
XLITE Log:
##############################################################
SEND TIME: 46029076
SEND >> X.X.X6.3:5060
REGISTER sip:msa.banfoo.com SIP/2.0
Via: SIP/2.0/UDP
X.X.X7.146:5060;rport;branch=z9hG4bKAE6C29D2F69241268EFCF7A4BF68F37E
From: gitau <sip:gitau@msa.banfoo.com>;tag=3433013211
To: gitau <sip:gitau@msa.banfoo.com>
Contact: "gitau" <sip:gitau@X.X.X7.146:5060>
Call-ID: 12425CF0718C4027BFDEBC074DD50A36(a)msa.banfoo.com
CSeq: 21710 REGISTER
Expires: 1800
Max-Forwards: 70
User-Agent: X-Lite release 1103m
Content-Length: 0
##########################################################################
Ngrep:
#########################################################################
bash-2.04# ngrep gitau@ port 5060
interface: rl0 (X.X.X6.0/255.255.255.128)
filter: ip and ( port 5060 )
match: gitau@
###
U X.X.X7.146:5060 -> X.X.X6.3:5060
REGISTER sip:msa.banfoo.com SIP/2.0..Via: SIP/2.0/UDP
X.X.X7.146:5060;rport;branch=z9hG4bK7FA3BCE24FE844CEA0D65F6D846E04EA..From:
gita
u <sip:gitau@msa.banfoo.com>;tag=3433013211..To: gitau
<sip:gitau@msa.banfoo.com>..Contact: "gitau"
<sip:gitau@X.X.X7.146:5060>..Cal
l-ID: 12425CF0718C4027BFDEBC074DD50A36@msa.banfoo.com..CSeq: 21706
REGISTER..Expires: 1800..Max-Forwards: 70..User-Agent: X-Lite releas
e 1103m..Content-Length: 0....
##
U X.X.X7.146:5060 -> X.X.X6.3:5060
REGISTER sip:msa.banfoo.com SIP/2.0..Via: SIP/2.0/UDP
X.X.X7.146:5060;rport;branch=z9hG4bK7FA3BCE24FE844CEA0D65F6D846E04EA..From:
gita
u <sip:gitau@msa.banfoo.com>;tag=3433013211..To: gitau
<sip:gitau@msa.banfoo.com>..Contact: "gitau"
<sip:gitau@X.X.X7.146:5060>..Cal
l-ID: 12425CF0718C4027BFDEBC074DD50A36@msa.banfoo.com..CSeq: 21706
REGISTER..Expires: 1800..Max-Forwards: 70..User-Agent: X-Lite releas
e 1103m..Content-Length: 0....
#
U X.X.X7.146:5060 -> X.X.X6.3:5060
REGISTER sip:msa.banfoo.com SIP/2.0..Via: SIP/2.0/UDP
X.X.X7.146:5060;rport;branch=z9hG4bK7FA3BCE24FE844CEA0D65F6D846E04EA..From:
gita
u <sip:gitau@msa.banfoo.com>;tag=3433013211..To: gitau
<sip:gitau@msa.banfoo.com>..Contact: "gitau"
<sip:gitau@X.X.X7.146:5060>..Cal
l-ID: 12425CF0718C4027BFDEBC074DD50A36@msa.banfoo.com..CSeq: 21706
REGISTER..Expires: 1800..Max-Forwards: 70..User-Agent: X-Lite releas
e 1103m..Content-Length: 0....
##
U X.X.X7.146:5060 -> X.X.X6.3:5060
REGISTER sip:msa.banfoo.com SIP/2.0..Via: SIP/2.0/UDP
X.X.X7.146:5060;rport;branch=z9hG4bK7FA3BCE24FE844CEA0D65F6D846E04EA..From:
gita
u <sip:gitau@msa.banfoo.com>;tag=3433013211..To: gitau
<sip:gitau@msa.banfoo.com>..Contact: "gitau"
<sip:gitau@X.X.X7.146:5060>..Cal
l-ID: 12425CF0718C4027BFDEBC074DD50A36@msa.banfoo.com..CSeq: 21706
REGISTER..Expires: 1800..Max-Forwards: 70..User-Agent: X-Lite releas
e 1103m..Content-Length: 0....
#############################################
ser.cfg
#############################################
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei 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
debug=7
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=4
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/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)
modparam("usrloc", "db_url","sql://ser:heslo@localhost/ser")
# -- 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");
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
record_route();
# 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==msa.banfoo.com) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("msa.banfoo.com", "subscriber")) {
www_challenge("msa.banfoo.com", "0");
break;
};
save("location");
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
# 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();
};
}
John Gitau/
Hi all,
I just compiled IPTel proxy yesterday from ser source
distribution in tar.gz format.
Following options used to compile and install:
make prefix=/ all
make prefix=/ install
It couldn't find all modules but build the rest and I
could start it with no problems.
serctl moni also gives me the running status of
ser-proxy.
I am testing it in-house in a private network to
understand it's capabilities and possibility to
integrate it with my billing solution.
SER proxy is installed on linux machine
(192.168.0.102) and I have installed windows messanger
version 5.0 with SIP support on windows machine
(192.168.0.98).
On dialer, I go to Tools > Options and select the
"Accounts" tab to configure the SIP proxy address
there.
I selected the "SIP Communication Service Account" and
clicked "Advance" to specify SIP proxy address. I
entered SIP Server Name as 192.168.0.102.
There were 3 types of connections available:
- TCP
- TLS
- UDP
I tried once with TCP and 2nd time with UDP. But I
can't see any activity on the output of "serctl moni".
I can't see any folder where to find logs of this
communication.
I have the configuration file /etc/ser/ser.cfg.
I didn't create any account yet, assuming "by default"
there's no authentication performed and user should
quickly be connected.
Thanks for all your help at very starting phase of
this setup.
I am very much interested to setup this service and to
recommend to my client as well.
Best Regards,
Jawad Bokhari
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail