My mistake on the code (I copied it out of my ser.cfg and forgot a few
lines, oops), put this in instead and send me the same info again... Also I
what IP goes to what in your network? Also at some point the log file will
say GOT a REGISTER that's where we really need to start watching what it has
to say for itself.
xlog("L_INFO", "Got a %rm (URI = %ru) from %is");
If(method == "REGISTER")
{
if(uri == myself)
{
xlog("L_INFO", "Authenticating Contact (%ct)");
# Make sure they are a valid user on our proxy
if (!www_authorize("yourdomain.com", "location"))
{
www_challenge("yourdomain.com", "0");
break;
};
save("location");
xlog("L_INFO", "Registered Contact (%ct)");
break;
}
else
{
xlog("L_INFO", "This REGISTER is not for us! (Contact = %ct,
URI = %ru, IP = %is)");
break;
};
};
----------------------------------------
Michael Shuler, C.E.O.
BitWise Communications, Inc. (CLEC) And BitWise Systems, Inc. (ISP)
682 High Point Lane
East Peoria, IL 61611
Office: (217) 585-0357
Cell: (309) 657-6365
Fax: (309) 213-3500
E-Mail: mike(a)bwsys.net
Customer Service: (877) 976-0711
-----Original Message-----
From: yilan(a)cs.dal.ca [mailto:yilan@cs.dal.ca]
Sent: Tuesday, September 28, 2004 12:07 PM
To: Michael Shuler
Cc: yilan(a)cs.dal.ca; serusers(a)lists.iptel.org
Subject: RE: [Serusers] Ser Register Problem
Hi Michael,
I added the xlog as you told me and got the following results.
When I send sipsak command,the log messages on the console showed as
following
_________________________________________________________________
[root@sipserv ser]# ser start
Listening on
127.0.0.1 [127.0.0.1]:5060
134.190.64.164 [134.190.64.164]:5060
Aliases: sipserv:5060 localhost:5060 134.190.64.164:*
sipserv.eplgroup.tara.ca:* eplgroup.tara.ca:*
stateless - initializing
Maxfwd module- initializing
[root@sipserv ser]# 0(7068) mod_init(): Database connection opened
successfuly
0(0) INFO: udp_init: SO_RCVBUF is initially 110592
0(0) INFO: udp_init: SO_RCVBUF is finally 221184
0(0) INFO: udp_init: SO_RCVBUF is initially 110592
0(0) INFO: udp_init: SO_RCVBUF is finally 221184
9(0) INFO: fifo process starting: 7094
9(7094) SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
5(7082) Begin route
5(7082) Got a OPTIONS (URI = 4500(a)eplgroup.tara.ca) from
134.190.64.164
5(7082) Authenticating Contact
(sip:sipsak@sipserv.eplgroup.tara.ca:32839)
_________________________________________________________________
The ngrep output is as followed:
________________________________________________________________
[root@sipserv ngrep-1.42]# ./ngrep -n 5060 -d eth0 4500
interface: eth0 (134.190.64.160/255.255.255.224)
match: 4500
############################################
U 134.190.64.171:5060 -> 134.190.64.164:5060 REGISTER
sip:134.190.64.164
SIP/2.0..Via:SIP/2.0/UDP 134.190.64.171:5060..From:"4500"
<sip:4500@134.190.64.164>;tag=7-366-5f947b49..To:<sip:4500@134
.190.64.164>..Contact:<sip:4500@134.190.64.171>..Call-ID:70000
-5647a0b0(a)134.1
90.64.171..CSeq:2 REGISTER..Expires:
7200..User-Agent:Mitel-5055-SIP-Phone
2.0.1.23 08000F0E8F03..Max-Forwards:70..Content-Length:0....
#
I 134.190.64.164 -> 134.190.64.171
3:10....E.......<.....@...@......p.HREGISTER sip:134.190.64.164
SIP/2.0..Via:SIP/2.0/UDP 134.190.64.171:5060..From:"4500"
<sip:4500@134.190.64.164>;tag=7-366-5f947b49..To:<sip:4500@134
.190.64.164>..Contact:<sip:4500@134.190.64.17
1>..Call-ID:70000-5647a0b0@134.190.64.171..CSeq:2 REGISTER..Expires:
7200..User-Agent:Mitel-5055-SIP-Phone 2.0.1.23
08000F0E8F03..Max-Forwards:70..Content-Length:0....
#
U 134.190.64.171:5060 -> 134.190.64.164:5060 REGISTER
sip:134.190.64.164
SIP/2.0..Via:SIP/2.0/UDP 134.190.64.171:5060..From:"4500"
<sip:4500@134.190.64.164>;tag=7-366-5f947b49..To:<sip:4500@134
.190.64.164>..Contact:<sip:4500@134.190.64.171>..Call-ID:70000
-5647a0b0(a)134.1
90.64.171..CSeq:2 REGISTER..Expires:
7200..User-Agent:Mitel-5055-SIP-Phone
2.0.1.23 08000F0E8F03..Max-Forwards:70..Content-Length:0....
#
I 134.190.64.164 -> 134.190.64.171 3:10
....E.......<.....@...@......p.HREGISTER sip:134.190.64.164
SIP/2.0..Via:SI P/2.0/UDP 134.190.64.171:5060..From:"4500"
sip:4500@134.190.64.164>;tag=7-
366-5f947b49..To:<sip:4500@134.190.64.164>..Contact:<sip:4500@
134.190.64.17
1>..Call-ID:70000-5647a0b0@134.190.64.171..CSeq:2 REGISTER..Expires:
7200..
User-Agent:Mitel-5055-SIP-Phone 2.0.1.23
8000F0E8F03..Max-Forwards:70..Con
tent-Length:0....
#
U 134.190.64.171:5060 -> 134.190.64.164:5060 REGISTER
sip:134.190.64.164
SIP/2.0..Via:SIP/2.0/UDP 134.190.64.171:5060..From:"4500"
<sip:4500@134.190.64.164>;tag=7-366-5f947b49..To:<sip:4500@134
.190.64.164>..Contact:<sip:4500@134.190.64.171>..Call-ID:70000
-5647a0b0(a)134.1
90.64.171..CSeq:2 REGISTER..Expires:
7200..User-Agent:Mitel-5055-SIP-Phone
2.0.1.23 08000F0E8F03..Max-Forwards:70..Content-Length:0....
#
I 134.190.64.164 -> 134.190.64.171 3:10
....E.......<.....@...@......p.HREGISTER sip:134.190.64.164
SIP/2.0..Via:SI
P/2.0/UDP 134.190.64.171:5060..From:"4500"
sip:4500@134.190.64.164>;tag=7-
366-5f947b49..To:<sip:4500@134.190.64.164>..Contact:<sip:4500@
134.190.64.17
1>..Call-ID:70000-5647a0b0@134.190.64.171..CSeq:2 REGISTER..Expires:
7200.. User-Agent:Mitel-5055-SIP-Phone 2.0.1.23
08000F0E8F03..Max-Forwards:70..Content-Length:0....
#
U 134.190.64.171:5060 -> 134.190.64.164:5060 REGISTER
sip:134.190.64.164
SIP/2.0..Via:SIP/2.0/UDP 134.190.64.171:5060..From:"4500"
<sip:4500@134.190.64.164>;tag=7-366-5f947b49..To:<sip:4500@134
.190.64.164>..Contact:<sip:4500@134.190.64.171>..Call-ID:70000
-5647a0b0(a)134.1
90.64.171..CSeq:2 REGISTER..Expires:
7200..User-Agent:Mitel-5055-SIP-Phone
2.0.1.23 08000F0E8F03..Max-Forwards:70..Content-Length:0....
#
I 134.190.64.164 -> 134.190.64.171 3:10
....E.......<.....@...@......p.HREGISTER sip:134.190.64.164
SIP/2.0..Via:SI P/2.0/UDP 134.190.64.171:5060..From:"4500"
<sip:4500@134.190.64.164>;tag=7-
366-5f947b49..To:<sip:4500@134.190.64.164>..Contact:<sip:4500@
134.190.64.17
1>..Call-ID:70000-5647a0b0@134.190.64.171..CSeq:2 REGISTER..Expires:
7200.. User-Agent:Mitel-5055-SIP-Phone 2.0.1.23
08000F0E8F03..Max-Forwards:70..Content-Length:0....
###
U 134.190.64.171:5060 -> 134.190.64.164:5060 REGISTER
sip:134.190.64.164
SIP/2.0..Via:SIP/2.0/UDP 134.190.64.171:5060..From:"4500"
<sip:4500@134.190.64.164>;tag=7-366-5f947b49..To:<sip:4500@134
.190.64.164>..Contact:<sip:4500@134.190.64.171>..Call-ID:70000
-5647a0b0(a)134.1
90.64.171..CSeq:2 REGISTER..Expires:
7200..User-Agent:Mitel-5055-SIP-Phone
2.0.1.23 08000F0E8F03..Max-Forwards:70..Content-Length:0....
#
I 134.190.64.164 -> 134.190.64.171 3:10
....E.......<.....@...@......p.HREGISTER sip:134.190.64.164
SIP/2.0..Via:SI
P/2.0/UDP 134.190.64.171:5060..From:"4500"
sip:4500@134.190.64.164>;tag=7-
366-5f947b49..To:<sip:4500@134.190.64.164>..Contact:<sip:4500@
134.190.64.17
1>..Call-ID:70000-5647a0b0@134.190.64.171..CSeq:2 REGISTER..Expires:
7200..
User-Agent:Mitel-5055-SIP-Phone 2.0.1.23
08000F0E8F03..Max-Forwards:70..Content-Length:0....
##############
_______________________________________________________________
Thanks for your help and time,
Yilan
In your next post send the actual ngrep output
and any log
messages from
the
console or /var/log/messages... Basically what is happening
is that the
URI
isn't matching "myself". When you start SER it will tell
you what
it
binds
to. Include that too next time.
Try this:
xlog("L_INFO", "Got a %rm (URI = %ru) from %is");
if(uri == myself)
{
xlog("L_INFO", "Authenticating Contact (%ct)");
# Make sure they are a valid user on our proxy
if (!www_authorize("yourdomain.com", "location"))
{
www_challenge("yourdomain.com", "0");
break;
};
save("location");
xlog("L_INFO", "Registered Contact (%ct)");
break;
};
----------------------------------------
Michael Shuler, C.E.O.
BitWise Communications, Inc. (CLEC) And BitWise Systems, Inc. (ISP)
682 High Point Lane
East Peoria, IL 61611
Office: (217) 585-0357
Cell: (309) 657-6365
Fax: (309) 213-3500
E-Mail: mike(a)bwsys.net
Customer Service: (877) 976-0711
> -----Original Message-----
> From: yilan(a)cs.dal.ca [mailto:yilan@cs.dal.ca]
> Sent: Tuesday, September 28, 2004 9:30 AM
> To: Michael Shuler
> Cc: yilan(a)cs.dal.ca; serusers(a)lists.iptel.org
> Subject: RE: [Serusers] Ser Register Problem
>
>
> Hi Michael,
>
> Thank you for your reply. I really appreciate it.
>
> 1 - Check out xlog() so you can print out the URI, Contact, etc.
>
> I add xlog () in ser.cfg.Then for the sipsak command "sipsak -vv -s
> sip:4500@eplgroup.tara.ca", it shows the following
> 5(6374) not found:time [Tue Sep 28 11:14:48 2004] method
> <OPTIONS> r-uri
> <4500(a)eplgroup.tara.ca>
> I guess sipsak doesn't send register method here.
>
> But for the phone that is going to register for the ser,
nothing shows
> although I can see the phone sends register
packet from ngrep.
>
> 2 - Are you beheind NAT?
> NO.
>
> 3 - This is all you should be concerend about... What is
the last log
> message you are getting from here? Then use
xlog() to tell
> you what you
> need to know. If you are not even getting the first log
> message then SER
> is not aware that it is supposed to respond for whatever the
> REGISTER has
> requested. You will need to add it as an "alias" global
> config option at
> the top of the file.
>
> Then how do I let the ser to show the log message?
> I modified the following to show the log in the terminal
and I did add
> "alias" for global config option at
the top of ser.cfg.
>
> debug=3
> fork=yes
> log_stderror=yes
>
> alias="eplgroup.tara.ca"
> alias="134.190.64.164"
>
> Thanks,
> Yilan
> > Couple of things to try....
> >
> >
> > 1 - Check out xlog() so you can print out the URI, Contact, etc.
> >
> > 2 - Are you beheind NAT?
> >
> > 3 - This is all you should be concerend about... What is
> the last log
> > message you are getting from here? Then use xlog() to tell
> you what you
> > need to know. If you are not even getting the first log
> message then SER
> > is
> > not aware that it is supposed to respond for whatever the
> REGISTER has
> > requested. You will need to add it as an "alias" global
> config option at
> > the top of the file.
> >
> >> if (uri==myself) {
> >>
> >> log(1,"in the served domain");
> >> if (method=="REGISTER") {
> >> log(1,"do the register work");
> >>
> >> #Uncomment this if you want to use digest authentication
> >> if (!www_authorize("Ip address of
> sip server",
> >> "subscriber")) {
> >> www_challenge("Ip address of
> >> sip server",
> >> "0");
> >> log(1,"do www_challenge");
> >> break;
> >> };
> >>
> >> save("location");
> >> log(1,"save in the location");
> >> break;
> >> };
> >>
> >> # native SIP destinations are handled using
> >> our USRLOC DB
> >> if (!lookup("location")) {
> >> sl_send_reply("404", "Not
Found");
> >> log(1,"not found in the location");
> >> break;
> >> };
> >> }else{
> >> log(1,"not in the domain");
> >> };
> >
> >
> > ----------------------------------------
> >
> > Michael Shuler, C.E.O.
> > BitWise Communications, Inc. (CLEC) And BitWise Systems,
Inc. (ISP)
> > 682 High Point Lane
> > East Peoria, IL 61611
> > Office: (217) 585-0357
> > Cell: (309) 657-6365
> > Fax: (309) 213-3500
> > E-Mail: mike(a)bwsys.net
> > Customer Service: (877) 976-0711
> >
> >
> >
> >
> >
> >
> >> -----Original Message-----
> >> From: serusers-bounces(a)lists.iptel.org
> >> [mailto:serusers-bounces@lists.iptel.org] On Behalf Of yilan(a)cs.dal.ca
> >> Sent: Monday, September 27, 2004 7:19 PM
> >> To: serusers(a)lists.iptel.org
> >> Subject: [Serusers] Ser Register Problem
> >>
> >>
> >> Dear All,
> >>
> >> I have the latest ser (0.8.14) on fedora 2 as the sip server
> >> ,1 Mitel sip
> >> phone and xpro soft phone as the sip phones. The problem is
> >> that either
> >> the mitel or xpro sip phones can't register in ser.
> >>
> >> I used "serctl ul show",nothing is registered.
> >>
> >> I used "sipsak -vv -s sip:6000@ip address of sipserver",it
> >> shows "SIP/2.0
> >> 404 Not Found"
> >>
> >> Then I added some log functions in ser.cfg where route
> locates (listed
> >> below).I found out when I used "sipsak -vv -s sip:6000@ip
> address of
> >> sipserver",the log functions execute first at uri==myself, then
> >> (!lookup("location")) and I can see the logs in the terminal.
> >>
> >> But when I started the phone to communicate with the ser,
> those logs
> >> weren't show although I did see the register request from sip
> >> phones to
> >> ser from ngrep.
> >>
> >> So my first question is when the ser.cfg is executed. When I
> >> used sipsak,
> >> I could see ser.cfg is executed. When I started the sip
> >> phone, I can't see
> >> its execution.
> >>
> >> My second question is how to find out the reason for not
> >> registering. I
> >> used the IP address for the domain name. is it right to use?
> >> Because I did
> >> the test in local area network without dns.
> >>
> >> route{
> >>
> >> log(1,"Begin route\n");
> >> if (!mf_process_maxfwd_header("10")) {
> >> sl_send_reply("483","Too Many Hops");
> >> log(1,"Too many hops\n");
> >> break;
> >> };
> >> if ( msg:len > max_len ) {
> >> sl_send_reply("513", "Message too
big");
> >> log(1,"Message too big\n");
> >> break;
> >> };
> >>
> >> record_route();
> >> log(1,"record_route\n");
> >> # loose-route processing
> >> if (loose_route()) {
> >> t_relay();
> >> log(1,"loose route\n");
> >> break;
> >> };
> >>
> >> if (uri==myself) {
> >>
> >> log(1,"in the served domain");
> >> if (method=="REGISTER") {
> >> log(1,"do the register work");
> >>
> >> #Uncomment this if you want to use digest authentication
> >> if (!www_authorize("Ip address of
> sip server",
> >> "subscriber")) {
> >> www_challenge("Ip address of
> >> sip server",
> >> "0");
> >> log(1,"do www_challenge");
> >> break;
> >> };
> >>
> >> save("location");
> >> log(1,"save in the location");
> >> break;
> >> };
> >>
> >> # native SIP destinations are handled using
> >> our USRLOC DB
> >> if (!lookup("location")) {
> >> sl_send_reply("404", "Not
Found");
> >> log(1,"not found in the location");
> >> break;
> >> };
> >> }else{
> >> log(1,"not in the domain");
> >> };
> >> # 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();
> };
>
> }
>
> Thanks,
> Yilan
>
>
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
>
http://lists.iptel.org/mailman/listinfo/serusers
>