Hi Marian,
I carried out the test you suggested and the message
printed out in /var/log/messages, so I still have the
483, too many hops error. Therefore the client uri
definately matched the domain part of the sip url. As
mentioned previously I change the domain in /etc/hosts
on the ser machine(and also added the gateway),I added
the dns address in /etc/resolve.conf and I also edited
the address in /etc/profile.
Therefore at this stage I dont think its the
domain....at least i dont think so anyway...I have
checked that ser is listening on the address specified
with the specified port using netstat -tunap and it is
running.
When I sniff the loopback interface on ser I see tht
the invite message is repeatedly issued to the ser
machine. The sequence for this was shown in the first
email.I have included my default config below (its
pretty basic) and any further thoughts would be
appreciated. Both clients and ser are on public ip's.
Kindest regards,
Pat
#
# $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"
alias=xxx.xxx.xxx.xxx #ser public address
alias=127.0.0.1 #loopback address if it makes
#a difference
alias=sip:xxx.xxx.xxx.xxx #makes a diff??
# ------------------ module loading
----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/lib/ser/modules/mysql.so"
loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
loadmodule "/usr/lib/ser/modules/textops.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/lib/ser/modules/auth.so"
loadmodule "/usr/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)
# -- 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==myself) {
log(1,"test if this prints out");
if (method=="REGISTER") {
# Uncomment this if you want to use digest
authentication
# if (!www_authorize("xxx.xxx.xxx.xxx",
"subscriber")) {
# www_challenge("xxx.xxx.xxx.xxx",
"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();
};
}
--- Marian Dumitru <marian.dumitru(a)voice-sistem.ro>
wrote:
Hi Pat,
do some small test - add at the beginning of your
script:
if (uri==myself) {
log(1,"uri is myself\n");
};
and see if you get that message in ser output/logs.
Just to be sure that
myself test is passed.
Best regards,
Marian
pat newham wrote:
The domain name is the ip address of the ser
server
i.e. a user registers as 2001(a)xxx.xxx.xxx.xxx.
Therefore I set alias=xxx.xxx.xxx.xxx in my
ser.cfg.
Pat
--- Marian Dumitru
<marian.dumitru(a)voice-sistem.ro>
wrote:
>Hi Pat,
>
>Set as alias the domain name (as DNS name). If
your
>requests look like
>user(a)foo.orgorg, set
alias=foo.org
>
>Best regards,
>Marian
>
>pat newham wrote:
>
>>Thank you for reply. It is still not working
>
>correctly
>
>>Im afraid.
>>
>>I have added the lines :
>>
>>alias= xxx.xxx.xxx.xxx (being the public address
>
>of my
>
>>ser server)
>>alias =127.0.0.1
>>
>>at the start of the config file and added
>>
>>if (uri==myself)
>>{
>> bla
>>}
>>
>>in the middle of my config.
>>
>>Other than that my config is just the default
one.
>
>As
>
>>I mentioned previously I have both user agents
and
>
>ser
>
>>on public addresses. There is no nat or even
>>authentication in the current setup. It is the
>>simplest scenario, they are all connected via a
>
>hub
>
>>and all have public addresses.
>>
>>A sniff of the eth0 i/f of ser revealed:
>>
>>an invite going from UA1 to SER. A 100 trying
>
>message
>
>>sent back to UA1. Then a 483 too many hops
message
>>sent from ser to UA1.
>>
>>A sniff of the loopback i/f revealed an invite
>
>message
>
>>sent from ser address to ser address repeatedly.
>>
>>Any further ideas?
>>Thank you,
>>Pat.
>>
>> --- Marian Dumitru
>
><marian.dumitru(a)voice-sistem.ro>
>
>>wrote:
>>
>>
>>>Hi Pat,
>>>
>>>Most sure "uri==myself" doesn't match for your
>
>RURI
>
>>>domain. Be sure SER
>>>consider as served domain the RURI domain. At
>>>startup you see the
>>>listing of all served domains by SER. If you
want
>
>to
>
>>>add some more, use
>>>the alias config option:
>>> alias=some.new.domain
>>>
>>>Best regards,
>>>Marian
>>>
>>>pat newham wrote:
>>>
>>>
>>>>Hello,
>>>>
>>>>I am new to this list and SEr and am trying a
>
>very
>
>>>>simple scenario. I would like to establish a
call
>>>>using SER via two grandstream
BT100's(UA1 and
>>>
>>>UA2).
>>>
>>>
>>>>The two agent and SER are all on public
>
>addresses.
>
>>>The
>>>
>>>
>>>>two agents register with SER ok. However when I
>>>
>>>try to
>>>
>>>
>>>>ring UA2 from UA1, I get a 483 error. I know
that
>>>
>>>this
>>>
>>>
>>>>mean there are too many hops. My config is
>>>
>>>practically
>>>
>>>
>>>>the same as the basic (i.e.
>
>standard)configuration
>
>>>>file (except for authorization and I have added
a
>>>
>>>line
>>>
>>>
>>>>including an alias equal to the public address
of
>>>>ser....the "if
(uri==myself)" statement is
>
>correct
>
>>>I
>>>
>>>
>>>>think...I checked).
>>>>
>>>>I checked the loopback address as suggested in
>
>the
>
>>>>archives and can see that the invite is
>
>repeatedly
>
>>>>sent to ser itself and 100 trying messages are
>>>
>>>sent to
=== message truncated ===
___________________________________________________________
ALL-NEW Yahoo! Messenger - all new features - even more fun!
http://uk.messenger.yahoo.com