Thanks Emil.
Yes, after I comment the PSTN gateway part, it worked. Lots of error messages came out during the bootup of the server. I doubt there must be something wrong with the re-compilation.
I tried the precomiled version (rpm package) on Redhat linux 8.0 first. But the server couldn't bootup (it showed 'Terminated' when booting). Has anyone ever compiled SER on Redhat 8.0?
Regards
Bo
----- Original Message -----
From: Emil
To: Bo
Sent: Friday, March 14, 2003 6:23 PM
Subject: Re: [Serusers] SER log
Hi Bo,
Just change the if uri== back to myself for testing.
Have you tried the precompiled version?
When I start the service (service ser start) on no fork and debug 9 the service should look like it is hanging, oops and change log_stderror=no to yes.
Tail /var/log/message again and let me know.
E
----- Original Message -----
From: Bo
To: serusers(a)lists.iptel.org
Sent: Saturday, March 15, 2003 1:14 AM
Subject: Re: [Serusers] SER log
Hi Emil,
Thanks for your infor.
I tried and it still didn't work. Now I doubt if the /etc/ser/ser.cfg (see the following) takes effect or not. I changed the settings and if I ran the server by command ' # ser ', no problem. But if I ran it like ' # ser -f ser.cfg ', then it told me
ERROR: bad config file (11 errors)
Actually I didn't change too much on the default ser.cfg.
Pls indicate.
_________________________________________________________________________________
#
# $Id: ser.cfg,v 1.12 2002/10/21 02:40:06 jiri Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=9 # debug level (cmd line: -dddddddddd)
fork=no
log_stderror=no # (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 ----------------------------------
# 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"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
#loadmodule "//usr/lib/ser/modules/auth.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", "secret", "alsdkhglaksdhfkloiwr")
#modparam("auth", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
#modparam("auth", "password_column", "password")
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwars==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if (len_gt( max_len )) {
sl_send_reply("513", "Message too big");
break;
};
# Do strict routing if pre-loaded route headers present
rewriteFromRoute();
# 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==sip.mycompany.com) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
# if (!www_authorize("iptel.org", "subscriber")) {
# www_challenge("iptel.org", "0");
# break;
# };
save("location");
break;
};
# attempt handoff to PSTN
if (uri=~"^sip:[0-9]*@sip.mycompany.com") {
log(4, "Forwarding to PSTN\n");
forward(X.X.X.X,5060);
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
if (!t_relay()) {
sl_reply_error();
};
}
_____________________________________________________________________________
----- Original Message -----
From: Emil
To: Bo
Sent: Friday, March 14, 2003 5:43 PM
Subject: Re: [Serusers] SER log
Hi Bo,
Jan just helped me with a similar problem.
Debug level = 9 and fork t= no.
Tail /var/log messages and you will get plenty of info.
Emil
----- Original Message -----
From: Bo
To: serusers(a)lists.iptel.org
Sent: Saturday, March 15, 2003 12:35 AM
Subject: [Serusers] SER log
Hi,
Does anyone have any clue on the following problem?
I recompiled and installed SER in Redhat Linux 8.0. Unfortunately I tried all the possible options (debug level) in the ser.cfg, but the only messages I could see in the /var/log/messsages are as follows.
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15316]: INFO: fifo process starting: 15316
Mar 14 17:56:49 dda ser[15316]: SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
What should I do to see the detailed debugs?
Thanks,
Bo
Hi Emil,
Thanks for your infor.
I tried and it still didn't work. Now I doubt if the /etc/ser/ser.cfg (see the following) takes effect or not. I changed the settings and if I ran the server by command ' # ser ', no problem. But if I ran it like ' # ser -f ser.cfg ', then it told me
ERROR: bad config file (11 errors)
Actually I didn't change too much on the default ser.cfg.
Pls indicate.
_________________________________________________________________________________
#
# $Id: ser.cfg,v 1.12 2002/10/21 02:40:06 jiri Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=9 # debug level (cmd line: -dddddddddd)
fork=no
log_stderror=no # (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 ----------------------------------
# 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"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
#loadmodule "//usr/lib/ser/modules/auth.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", "secret", "alsdkhglaksdhfkloiwr")
#modparam("auth", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
#modparam("auth", "password_column", "password")
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwars==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if (len_gt( max_len )) {
sl_send_reply("513", "Message too big");
break;
};
# Do strict routing if pre-loaded route headers present
rewriteFromRoute();
# 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==sip.mycompany.com) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
# if (!www_authorize("iptel.org", "subscriber")) {
# www_challenge("iptel.org", "0");
# break;
# };
save("location");
break;
};
# attempt handoff to PSTN
if (uri=~"^sip:[0-9]*@sip.mycompany.com") {
log(4, "Forwarding to PSTN\n");
forward(X.X.X.X,5060);
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
if (!t_relay()) {
sl_reply_error();
};
}
_____________________________________________________________________________
----- Original Message -----
From: Emil
To: Bo
Sent: Friday, March 14, 2003 5:43 PM
Subject: Re: [Serusers] SER log
Hi Bo,
Jan just helped me with a similar problem.
Debug level = 9 and fork t= no.
Tail /var/log messages and you will get plenty of info.
Emil
----- Original Message -----
From: Bo
To: serusers(a)lists.iptel.org
Sent: Saturday, March 15, 2003 12:35 AM
Subject: [Serusers] SER log
Hi,
Does anyone have any clue on the following problem?
I recompiled and installed SER in Redhat Linux 8.0. Unfortunately I tried all the possible options (debug level) in the ser.cfg, but the only messages I could see in the /var/log/messsages are as follows.
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15316]: INFO: fifo process starting: 15316
Mar 14 17:56:49 dda ser[15316]: SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
What should I do to see the detailed debugs?
Thanks,
Bo
Hi,
Does anyone have any clue on the following problem?
I recompiled and installed SER in Redhat Linux 8.0. Unfortunately I tried all the possible options (debug level) in the ser.cfg, but the only messages I could see in the /var/log/messsages are as follows.
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is initially 65535
Mar 14 17:56:49 dda ser[15303]: INFO: udp_init: SO_RCVBUF is finally 262142
Mar 14 17:56:49 dda ser[15316]: INFO: fifo process starting: 15316
Mar 14 17:56:49 dda ser[15316]: SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
What should I do to see the detailed debugs?
Thanks,
Bo
hi guys/gals,
I have two ser sites serving two different domains and I want to let them see
each other.
Earlier this week, someone on this list said that no special config had to be
done to get this done, but I am having problems.
Both the ser servers are on machines behind the firewalls for security. I have
forwarded UDP ports 5060-5070 through to the ser servers.
I can see people online going one way, but not the other. The site that can, is
able to send messages to the other site and get a response back, but not vice
versa.
What firewall/forwarding config do I need?
cheers, this really has me stumped :)
-------------------------------------------------
This service is provided by 3d Computers Ltd.
www.3d-computers.co.uk
sales(a)3d-computers.co.uk
Hi all,
Have installed and configured ser and everything works fine until I turn on authentication. I have a suspicion my problem resides in my route logic. This is how I modified the default ser.cfg file:
route{
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if (len_gt( max_len )) {
sl_send_reply("513", "Message too big");
break;
};
rewriteFromRoute();
if (uri=~"mkc.co.za") {
if (method=="REGISTER") {
if (!www_authorize("mkc.co.za", "subscriber")) {
www_challenge("mkc.co.za", "0");
break;
};
save("location");
break;
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
if (!t_relay()) {
sl_reply_error();
};
}
Any ideas? Have gone through all the sql confs and sql seems fine (default installation), only added one user with serctl.
Kind regards, Emil
Thanks to all giving your thought and advice.
SSng
-----Original Message-----
From: Jiri Kuthan [mailto:jiri@iptel.org]
Sent: Thursday, March 06, 2003 6:49 AM
To: Ng, Soo Sim; serusers(a)lists.iptel.org
Subject: RE: [Serusers] multiple registration on one user login
Hello,
I fear that such a case can't be avoided with allowing only
a single registration. If I steal your phone away from your
desk, you will not register with it anymore, but I will and
we will have exactly one valid registration. Leaving SIP
phones with hard-wired passwords on your desk has simply the
same potential as leaving your credit-card or cell-phone there.
What can be done about fraud?
User education -- don't leave your money and phone unattended.
Hotline -- report stolen phones to lock the account.
PIN Lock -- use phones which can log-off and log-on (I'm not aware
of any now -- only 3com used to do that)
-Jiri
ps -- ability to move is a feature. I know people who are very glad
to use Vonage's US phone number and move with their ATAs and the
US phone number around in Europe.
At 11:37 PM 3/5/2003, Ng, Soo Sim wrote:
>Jiri,
>
>Scenario is providing IP Telephony to the household.
>I am more concern about the security of the Hardphone. I am thinking of auto-provisioned the hardphone (eg C7960, ATA186) without subsriber intervention. What the subscriber know is their phone # (Just like legacy phone system).
>
>Since the Hardphone is 'hard-coded', the phone can move round the vicinity of the redisential area and still able to make a call. Potentially this will lead to abuse, as someone may take the phone to a different location when owner is not around and make a 'free' call, return back the phone and the billing still charge the original subsriber.
>
>Any other suggestion to counter this issue is much appreacited.
>
>SSng
>
>-----Original Message-----
>From: Jiri Kuthan [mailto:jiri@iptel.org]
>Sent: Wednesday, March 05, 2003 12:18 AM
>To: Ng, Soo Sim; serusers(a)lists.iptel.org
>Subject: Re: [Serusers] multiple registration on one user login
>
>
>At 03:08 PM 3/4/2003, Ng, Soo Sim wrote:
>>I have such requirements. In providing sip-based residential ip telephony, I would like to restrict each home subsriber is only allowed to register one UA per account. This would make easy for billing purposes and for security reasons.
>>
>>Is there a way to achieve this requirement with SER?
>
>If that is your desparate wish, it is little overhead to make you happy.
>I'm still not sure though, it is a useful thing.
>
>Maybe an operator can make more revennues if my wife can accept calls at
>any phone in my building and initiate calls in parallel with my doughter.
>
>What are exactly the billing/security reasons here?
>
>-Jiri
--
Jiri Kuthan http://iptel.org/~jiri/
What, if anything, should the SER server do with a
OPTIONS method?
I am receiving this method, from a phone, right after the
phone makes a conversation. That is, the final ACK is
sent from the phone and a call is in progress when the phone decides
to send an OPTIONS message. I thought OPTIONS was a pre-call
sort of thing, not for the current call.
Anyway, I thought I could just capture the OPTIONS method and send
a 486 busy reply with sl_send_reply(). Didn't work.
---greg
Hello all
I am using SER as a proxy server.
Please let's consider the following scenario
1/ Step 1
A UAC registers to SER
---------
| SER |
---------
^
| REGISTER for 'service(a)logical-element.domain' contact
'service@host'
|
|
---------
| UAC |
---------
2/ Step 2
Another UAC tries to reach the previously registered user BUT WITH
PRIVATE PARAMETERS in request URI
----------
| UAC |
----------
|
|
INVITE service(a)logical-element.domain;param1=value1;param2=value2
v
---------
| SER |
---------
|
| INVITE service@host (sol 1)
| or INVITE service@host;param1=value1;param2=value2 (sol 2)
v
---------
| UAC |
---------
The translation from service(a)logical-element.domain to service@host is
done in SER using 'lookup'.
3/ Problem :
I observe that SER when translating the user@host part of the request
URI does not recopy the private parameters,
what I expected it to do.
=> I can not find any clear position in RFC 3261 (from my understanding
of the RFC).
Is it a bug in SER or does SER really implement the behaviour a standard
SIP proxy should have ?
Thanks for your answers
--
David Rio
Alcatel CIT - Rennes
ASD France
33 2 99 87 47 18
hi, I have just today started playing with SIPS at work and found ser fun.
BTW, all the following is done with micro$oft messenger 4.6 for testing (eugh!)
I have set it all up at home and am trying to connect from work. I know the
connection is getting through the firewall because a tcpdump shows all the
expected results, and I know that ser is running ok, because I can login from
my home workstations.
Does ser do any sort of access control based on ip addresses that may be
causing it to reject my external connections?
Also, I have set up the realm with mysql authentication and I can communicate
with others on the same domain, but should I be able to communicate with
other sips users of other private networks (as long as they allow it) without
any configuration.
Do I have to do something to make that work?
cheers, and well done with a very easy to quick to install product, my boss
loves it
--
Mat Harris OpenGPG Public Key ID: C37D57D9
mat.harris(a)genestate.com www.genestate.com
Hi!
I have writen a module, may be somebody is interested in it.
It is used to determinate if a user has appropriate permission to establish a
call. The permissions can be managed in configuration files very simular to
hosts.allow and hosts.deny. Every value in the configuration files are regular
expresions, so it is easy to define rules.
Example for a rule:
"^sip:361[0-9]*@abc.com$" EXCEPT "^sip:.*3@abc.com$", "^sip:.*4@abc.com$" : ALL
Every PSTN endpoint beginning with 361 except those ending with 3 or 4 can
establish calls with everybody.
In general: from_list [EXCEPT from_list] : to_list [EXCEPT to_list]
from_list and to_list are comma separated expressions
Expressions are treated as case insensitive POSIX Extended RegularExpressions.
Keyword ALL matches any expression.
--
---------------------------------------------------------------------------
Miklos Tirpak
Computer and Automation Research Institute e-mail : mtirpak(a)sztaki.hu
of the Hungarian Academy of Sciences phone : (361) 279-6011
H-1132. Budapest, Victor Hugo u 18-22 fax : (361) 279-6021
Hi,
I am thinking of locking the user hardphone MAC Address onto Layer 2 Switch level. This way even if the user move around their phone, it will be blocked.
The disadvantage is that it will create opreration nightmare and will only work in ETTx environment. In a broadband wireless environment, there may be no layer 2 switch in between the network and subsriber.
There are 2 categories of subscribers. One is only want to use their home phone just like what the legacy voice network do. They won't bother to know about username/password. (For example illiterate elderly citizen). I must cater for these kind of users. Yet provide a secure environment for them.
Another is subscribers who want to have more flexibility. They may have hardphone, softphone, pda, notebook who can logon everywhere in the on-net network.
These users may have more than one phone number to their home per user account. These users will have to be reseponsile for their username/password.
I am looking for all possibbilities and limitations there is before drawing any implementation plan.
So far, my testing is working well. SER, Cisco 7960, ATA186, Cisco Voice Gateway, Softphone/IPAQ w/WLAN, MSN Messenger, etc
Thanks
SSng
-----Original Message-----
From: Jan Janak [mailto:jan@iptel.org]
Sent: Tuesday, March 11, 2003 7:30 PM
To: Ng, Soo Sim
Cc: Jiri Kuthan; serusers(a)lists.iptel.org
Subject: Re: [Serusers] multiple registration on one user login
Hello,
do you still need such a restriction ?
Jan.
On 10-03 11:12, Ng, Soo Sim wrote:
> Thanks to all giving your thought and advice.
>
> SSng
>
> -----Original Message-----
> From: Jiri Kuthan [mailto:jiri@iptel.org]
> Sent: Thursday, March 06, 2003 6:49 AM
> To: Ng, Soo Sim; serusers(a)lists.iptel.org
> Subject: RE: [Serusers] multiple registration on one user login
>
>
> Hello,
>
> I fear that such a case can't be avoided with allowing only
> a single registration. If I steal your phone away from your
> desk, you will not register with it anymore, but I will and
> we will have exactly one valid registration. Leaving SIP
> phones with hard-wired passwords on your desk has simply the
> same potential as leaving your credit-card or cell-phone there.
>
> What can be done about fraud?
>
> User education -- don't leave your money and phone unattended.
> Hotline -- report stolen phones to lock the account.
> PIN Lock -- use phones which can log-off and log-on (I'm not aware
> of any now -- only 3com used to do that)
>
> -Jiri
>
> ps -- ability to move is a feature. I know people who are very glad
> to use Vonage's US phone number and move with their ATAs and the
> US phone number around in Europe.
>
> At 11:37 PM 3/5/2003, Ng, Soo Sim wrote:
> >Jiri,
> >
> >Scenario is providing IP Telephony to the household.
> >I am more concern about the security of the Hardphone. I am thinking of auto-provisioned the hardphone (eg C7960, ATA186) without subsriber intervention. What the subscriber know is their phone # (Just like legacy phone system).
> >
> >Since the Hardphone is 'hard-coded', the phone can move round the vicinity of the redisential area and still able to make a call. Potentially this will lead to abuse, as someone may take the phone to a different location when owner is not around and make a 'free' call, return back the phone and the billing still charge the original subsriber.
> >
> >Any other suggestion to counter this issue is much appreacited.
> >
> >SSng
> >
> >-----Original Message-----
> >From: Jiri Kuthan [mailto:jiri@iptel.org]
> >Sent: Wednesday, March 05, 2003 12:18 AM
> >To: Ng, Soo Sim; serusers(a)lists.iptel.org
> >Subject: Re: [Serusers] multiple registration on one user login
> >
> >
> >At 03:08 PM 3/4/2003, Ng, Soo Sim wrote:
> >>I have such requirements. In providing sip-based residential ip telephony, I would like to restrict each home subsriber is only allowed to register one UA per account. This would make easy for billing purposes and for security reasons.
> >>
> >>Is there a way to achieve this requirement with SER?
> >
> >If that is your desparate wish, it is little overhead to make you happy.
> >I'm still not sure though, it is a useful thing.
> >
> >Maybe an operator can make more revennues if my wife can accept calls at
> >any phone in my building and initiate calls in parallel with my doughter.
> >
> >What are exactly the billing/security reasons here?
> >
> >-Jiri
>
> --
> Jiri Kuthan http://iptel.org/~jiri/
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
Sorry, auth was excluded from compilation by default.
Either update sip_router/Makefile from the repository
or edit sip_router/Makefile, look for line containing excluded_modules,
remove auth from it and do again make all.
Jan.
PS: Please CC the mailing list too.
On 12-03 16:39, David Beckemeyer wrote:
>
> Thanks for your help.
>
> For some reason modules/auth/auth.so didn't get built so that ser.cfg
> doesn't start.
>
> ser: ERROR: load_module: could not open module <./modules/auth/auth.so>: ./modules/auth/auth.so: cannot open shared object file: No such file or directory
> ser: parse error (40,13-36): failed to load module
> ser: parse error (92,26-27): unknown command, missing loadmodule?
> ser: INFO: signal 15 received
>
> It looks like the Makefile nevver tried to build that module.
>
> Other modules got built, as follows:
> modules/acc/acc.so
> modules/auth_db/auth_db.so
> modules/dbtext/dbtext.so
> modules/domain/domain.so
> modules/enum/enum.so
> modules/exec/exec.so
> modules/group/group.so
> modules/maxfwd/maxfwd.so
> modules/pike/pike.so
> modules/print/print.so
> modules/registrar/registrar.so
> modules/rr/rr.so
> modules/sl/sl.so
> modules/textops/textops.so
> modules/tm/tm.so
> modules/uri/uri.so
> modules/usrloc/usrloc.so
> modules/vm/vm_mod.so
>
> On Thu, Mar 13, 2003 at 01:15:26AM +0100, Jan Janak wrote:
> > Hello David,
> >
> > attached please find updated ser.cfg with authentication enabled using
> > plaintext files instead of mysql.
> >
> > Do the following:
> > 1) Get the latest CVS snapshot (yes, again)
> > 2) Compile it, but do not install it (don't do make install)
> > 3) Create a directory where your plaintext files containing database
> > tables will be stored
> > 4) Put attached "subscriber" and "location" files in the directory
> > 5) Edit attached ser.cfg
> > 6) Replace /home/janakj/ser with path to the directory (2 occurrencies)
> > 7) save ser.cfg in sip_router directory (the CVS snaphot)
> > 7) Edit subscriber and replace jan with your username, heslo with your
> > password and iptel.org with your domain
> > 8) cd sip_router
> > 9) ./ser -f ser.cfg
> >
> > Please report any problems to us.
> >
> > Jan.
> >
> > PS: See sip_router/modules/dbtext/Readme for description of format of
> > the plaintext files.
> >
> > On 12-03 13:57, David Beckemeyer wrote:
> > >
> > > Unstable indeed. I built SER from CVS and even using the
> > > stock (no DB) ser.cfg, it won't start, and reports:
> > >
> > > ERROR: bad config file (16 errors)
> > >
> > > ser: parse error (36,13-47): failed to load module
> > > ser: set_mod_param(): Parameter not found
> > > ser: parse error (46,34-35): Can't set module parameter
> > > ser: parse error (70,36-37): unknown command, missing loadmodule?
> > > ser: parse error (71,38-39): unknown command, missing loadmodule?
> > > ser: parse error (75,41-42): unknown command, missing loadmodule?
> > > ser: parse error (80,19-20): unknown command, missing loadmodule?
> > > ser: parse error (95,19-20): unknown command, missing loadmodule?
> > > ser: parse error (100,25-26): unknown command, missing loadmodule?
> > > ser: parse error (101,36-37): unknown command, missing loadmodule?
> > > ser: parse error (106,15-16): unknown command, missing loadmodule?
> > > ser: parse error (107,18-19): unknown command, missing loadmodule?
> > > ser: INFO: signal 15 received
> > >
> > > On Wed, Mar 12, 2003 at 08:40:04PM +0100, Daniel-Constantin MIERLA wrote:
> > > >
> > > >
> > > > Hello,
> > > > see dbtext for that. But notice that the module has not been thoroughly
> > > > tested. It is not included in v0.8.10 so you have to use a CVS snapshot
> > > > which is quite unstable these days due to lots of changes. If you want
> > > > to use it before the new release of ser is out you might get weird
> > > > situations, but you can provide us some help with testing ... It is your
> > > > choice ...
> > > >
> > > > -.-
> > > > Best regards,
> > > > Daniel
> > > >
> > > >
> > > > David Beckemeyer wrote:
> > > >
> > > > >I'm trying to get SER up and I need auth. I'm not a Mysql user
> > > > >and, frankly, I'd rather not need to learn it, just to get
> > > > >authentication support. I wish there were a middle-ground
> > > > >between no-auth at all and a full-blown Mysql installation.
> > > > >
> > > > >I tried the Cookbook approach, using Dan Austin's HOWTO for
> > > > >setting up Mysql for SER, but the commands do not work as shown
> > > > >so I'm left with learning Mysql through and through to debug
> > > > >why those cookbook commands don't work.
> > > > >
> > > > >I'm very familiar with SIP and I want to test SER, not a new Sql
> > > > >server DB engine. It seems like Mysql is a distraction to that
> > > > >effort.
> > > > >
> > > > >Is anyone working on something like a flat-file module to
> > > > >replace Mysql? Any pointers for the best place to start on
> > > > >developing such a module (i.e. shortcuts)?
> > > > >
> > > > >Thanks,
> > > > >
> > > > > - david
> > > > >
> > > > >_______________________________________________
> > > > >Serusers mailing list
> > > > >serusers(a)lists.iptel.org
> > > > >http://lists.iptel.org/mailman/listinfo/serusers
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Serusers mailing list
> > > > serusers(a)lists.iptel.org
> > > > http://lists.iptel.org/mailman/listinfo/serusers
> > > _______________________________________________
> > > Serusers mailing list
> > > serusers(a)lists.iptel.org
> > > http://lists.iptel.org/mailman/listinfo/serusers
>
> > #
> > # $Id: dbtext.cfg,v 1.2 2003/03/13 00:07:28 janakj Exp $
> > #
> > # simple quick-start config script
> > #
> >
> > # ----------- global configuration parameters ------------------------
> >
> > 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 ----------------------------------
> >
> > # Uncomment this if you want to use SQL database
> > loadmodule "./modules/dbtext/dbtext.so"
> >
> > loadmodule "./modules/sl/sl.so"
> > loadmodule "./modules/tm/tm.so"
> > loadmodule "./modules/rr/rr.so"
> > loadmodule "./modules/maxfwd/maxfwd.so"
> > loadmodule "./modules/usrloc/usrloc.so"
> > loadmodule "./modules/registrar/registrar.so"
> >
> > # Uncomment this if you want digest authentication
> > # mysql.so must be loaded !
> > loadmodule "./modules/auth/auth.so"
> > loadmodule "./modules/auth_db/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", 1)
> > modparam("usrloc", "db_url", "/home/janakj/ser")
> > modparam("auth_db", "db_url", "/home/janakj/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")
> >
> > # ------------------------- 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 (len_gt( max_len )) {
> > sl_send_reply("513", "Message too big");
> > break;
> > };
> >
> > # Do strict routing if pre-loaded route headers present
> > loose_route();
> >
> > # 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") {
> > if (!www_authorize("", "subscriber")) {
> > www_challenge("", "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
> > if (!t_relay()) {
> > sl_reply_error();
> > };
> >
> > }
> >
>
> > user(str) contact(str) expires(int) q(double) callid(str) cseq(int)
>
> > username(str) password(str) ha1(str) domain(str) ha1b(str)
> > jan:heslo:xxx:iptel.org:xxx
> >
>
>
>
I'm trying to get SER up and I need auth. I'm not a Mysql user
and, frankly, I'd rather not need to learn it, just to get
authentication support. I wish there were a middle-ground
between no-auth at all and a full-blown Mysql installation.
I tried the Cookbook approach, using Dan Austin's HOWTO for
setting up Mysql for SER, but the commands do not work as shown
so I'm left with learning Mysql through and through to debug
why those cookbook commands don't work.
I'm very familiar with SIP and I want to test SER, not a new Sql
server DB engine. It seems like Mysql is a distraction to that
effort.
Is anyone working on something like a flat-file module to
replace Mysql? Any pointers for the best place to start on
developing such a module (i.e. shortcuts)?
Thanks,
- david
Hi,
I saw many changes in CVS about radius. Is there any progress for radius?
The radius modules from release 0.8.10 are unfortunately not usable.
It seems there will be some fundamental changes in terms of radius_auth and
radius_acc. How will the new structure look?
Best regards
Yang
Hello,
We are going to update the SER Programmer's Guide (If you don't know it:
http://iptel.org/ser/devel.html ).
If you have any suggestions, ideas or even want to contribute something,
please let us know. The document will be intended mainly for 3rd party
module developers and feedback from you is very important to us.
Any feedback will be appreciated, thank you.
regards, Jan.
Sorry if you receive duplicated mail from other groups.
============================================================================
=======
Mitel Networks To Host Leading Global SIP Interoperability Event
SIPit 13 to showcase the interoperability and implementations of Session
Initiation Protocol (SIP) from over 60 companies
OTTAWA, CANADA, March 11, 2003 - Mitel Networks, a market-leader in voice,
video, and data convergence over broadband networks, today announced that it
will host and sponsor the 13th annual SIPit, a global SIP interoperability
testing event. The event will take place August 18 to 23 at the Brookstreet
Hotel in Ottawa, Canada and attract over 60 vendors and 150 engineers from
around the globe. SIPit is an international event endorsed by the SIP Forum
and overseen by the Internet Engineering Task Force (IETF). SIPit provides
a critical industry benchmark in the drive to make SIP the defacto standard
for real-time Internet communication services. SIP is an open,
Internet-genuine protocol for establishing and managing multi-party,
mixed-media sessions over converged networks.
The purpose of SIPit is to test the interoperability of SIP implementations
and products and perform testing on advanced features and functionality.
Vendors then have the opportunity to address any incompatibilities for their
commercial releases. The testing at SIPit also accelerates the drive
towards new drafts of the SIP specification based on new requirements and
findings at the event. SIPit is open exclusively to vendors offering
SIP-based solutions that will see market availability and is not an
exhibition, public demonstration, conference or workshop.
"The promise of SIP to enable businesses the choice and flexibility of true
open interoperability in a multi-vendor environment will gain velocity as
manufacturers collaborate in testing their standards based solutions," said
Paul Butcher, Chief Operating Officer, Mitel Networks. "The opportunity to
test our products at SIPit, with the devices and services of over 60 of the
world's leading implementers, provides a tremendous opportunity to measure
the interoperability of our own SIP-based solutions and of the industry as a
whole."
An early supporter of SIP, Mitel Networks has participated in the previous
six SIPit events. At SIPit13 Mitel Networks will test a range of SIP-based
desktop devices and communications platforms including the 5055 SIP Phone
and the 3050 Integrated Communications Platform.
For registration and information about SIPit13 in Ottawa, please visit:
www.mitel.com/sipit.
About SIP
An Internet Engineering Task Force (IETF) standard, SIP is an open,
Internet-genuine protocol for establishing and managing multi-party,
mixed-media sessions over converged networks. SIP enables the creation and
deployment of feature-rich services that go far beyond simple VoIP calls.
About Mitel Networks
Mitel Networks is a market-leader for voice, video, and data convergence
over broadband networks. With a focus on the user experience, the company
delivers advanced communications solutions that are easily customized for
individual business needs. Through intuitive desktop appliances and
applications, businesses are provided with innovative ways to manage
information and resources. Vertical markets benefit from integrated
solutions that protect existing investments, while enabling new ways to be
more cost effective and productive. Mitel Networks is headquartered in
Ottawa, Canada with offices, partners, and resellers worldwide. For more
information please visit
www.mitel.com
-30-
For more information, please contact:
Jon Carvill
Mitel Networks
613.592.2122
jon_carvill(a)mitel.com
Hi,
I have just updated my source version from CVS and find that I get
hundreds of warnings about incompatible pointer types when doing make all.
Have you changed the module export structure (the warning seem to point to
there)?
thanks
Stephan
--
The University of Stirling is a university established in Scotland by
charter at Stirling, FK9 4LA. Privileged/Confidential Information may
be contained in this message. If you are not the addressee indicated
in this message (or responsible for delivery of the message to such
person), you may not disclose, copy or deliver this message to anyone
and any action taken or omitted to be taken in reliance on it, is
prohibited and may be unlawful. In such case, you should destroy this
message and kindly notify the sender by reply email. Please advise
immediately if you or your employer do not consent to Internet email
for messages of this kind. Opinions, conclusions and other
information in this message that do not relate to the official
business of the University of Stirling shall be understood as neither
given nor endorsed by it.
Yes, the CSeq is incremented.
Thanks,
-g
>
>Hello Greg,
>
>On 11-03 07:40, Greg Fausak wrote:
>> What is weird about the OPTIONS request is that it is
>> including the established Callid.
>
> That is imho fine as long as CSeq in OPTIONS has higher value than
> CSeq in INVITE.
>
> Jan.
>
>--8GpibOaaTibBMecb
>Content-Type: application/pgp-signature
>Content-Disposition: inline
>
>-----BEGIN PGP SIGNATURE-----
>Version: GnuPG v1.2.1 (GNU/Linux)
>
>iD8DBQE+bfTyA0X9pGsVw/URAirmAJ9iqtJFrHLYmUm2rMY7PL0yuvOQgwCdFDXn
>EnqT7XpxTAAArEhhT2p9x7E=
>=QKSs
>-----END PGP SIGNATURE-----
>
>--8GpibOaaTibBMecb--
>
Hi Nils, I've copied my ser.cfg file into the body of this email. As you can
see 'fork=yes'. I've also copied the output of the serctl ps. As you can see
my config is pretty basic at this point. Thansk Mike
0 8512 attendant
1 8514 receiver child=0 sock=0 @ 127.0.0.1::5060
2 8515 receiver child=1 sock=0 @ 127.0.0.1::5060
3 8516 receiver child=2 sock=0 @ 127.0.0.1::5060
4 8517 receiver child=3 sock=0 @ 127.0.0.1::5060
5 8518 receiver child=0 sock=1 @ 10.100.100.243::5060
6 8519 receiver child=1 sock=1 @ 10.100.100.243::5060
7 8520 receiver child=2 sock=1 @ 10.100.100.243::5060
8 8521 receiver child=3 sock=1 @ 10.100.100.243::5060
9 8522 fifo server
10 8539 timer
#
# $Id: ser.cfg,v 1.12 2002/10/21 02:40:06 jiri Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (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 ----------------------------------
# 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"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "//usr/lib/ser/modules/auth.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", "secret", "alsdkhglaksdhfkloiwr")
modparam("auth", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
modparam("auth", "password_column", "password")
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwars==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if (len_gt( max_len )) {
sl_send_reply("513", "Message too big");
};
# Do strict routing if pre-loaded route headers present
rewriteFromRoute();
# 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=~"to-talk.com") {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("to-talk.com", "subscriber")) {
www_challenge("to-talk.com", "0");
break;
};
save("location");
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
> Hello Mike,
>
> On Tuesday 11 March 2003 14:28, mjkane(a)attbi.com wrote:
> > Hello, I have sucessfully configured SER to connect to mysql, but, now when
> > I execute ./ser start only 3 process are loaded. If I load SER using the
> > default ser.cfg file it loads 11 processes. Any thoughts..
>
> sounds like you configured 'fork=no'. Then you would have one timer process,
> one process for fifo, and one answering requests. You can check this with
> 'serctl ps'.
>
> Greetings
> Nils
Hello, I have sucessfully configured SER to connect to mysql, but, now when I
execute ./ser start only 3 process are loaded. If I load SER using the
default ser.cfg file it loads 11 processes. Any thoughts..
Mike
If I have a SIP message in a char* variable, then I assume that I can parse
it into a struct sip_msg* using a function in ser. The most obvious function
seems to be parse_msg(). This does not seem to work to my expectation.
Here is a code snippet (which is close to the code in receive.c):
char* response // contains my message
struct sip_msg msg // this is were the result should go
memset(msg, 0, sizeof(struct sip_msg));
response[len] = 0;
msg->buf = response;
msg->len = len;
if (parse_msg(response, len, msg))!=0) {
LOG(L_ERR, "ERROR");
}
LOG(L_ERR, "After parse msg ...")
dump_sip_msg(msg) // this just prints the fields of the message to LOG
dump_sip_msg() works fine on the incoming sip message, so the problem is
either in my SIP message or in my use of the parse function. However, I
think my message is fine (it is the received message with the first line
replaced with SIP/2.0 600 Policy Server Msg date time). I enclose a cut from
/var/log/messages.
Stephan
/var/log/messages:
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: After parse_msg...
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: polserv: dump_sip_msg()
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: msg->id: int = 0
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: msg->first_line:
msg_start (rep) 600 Policy Server Msg 2003-03-07 14:52:24^M Via: SIP/2.0/UDP
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: DEBUG: dump_hdr_field:
type=1, name=Via, body=SIP/2.0/UDP 139.153.254.196:5062, parsed=0x80a584c,
next=(nil)
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: DEBUG: dump_hdr_field:
type=1, name=Via, body=SIP/2.0/UDP 139.153.254.196:5062, parsed=0x80a584c,
next=(nil)
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: msg->parsed_flag 1
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: DEBUG: dump_hdr_field:
type=1, name=Via, body=SIP/2.0/UDP 139.153.254.196:5062, parsed=0x80a584c,
next=(nil)
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: DEBUG: dump_hdr_field:
field is NULL
Mar 7 14:52:41 d254196 last message repeated 20 times
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: msg->eoh: (null)
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: msg->unparsed: CSeq: 7635
REGISTER^M To: "Stephan" <sip:mrs@cs.stir.ac.uk>^M Expires: 900^M From:
"Stephan" <sip:mrs@cs.stir.ac.uk>^M Call-Id: 138108089(a)139.153.254.196^M
User-Agent: KPhone/2.11^M Event: registration^M Allow-Events: presence^M
Contact: "root"
<sip:root@139.153.254.196:5062;transport=UDP>;methods="INVITE, MESSAGE,
INFO, SUBSCRIBE, OPTIONS, BYE, CANCEL, NOTIFY, ACK"^M Content-Length: 0^M ^M
^M
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: msg->buf: SIP/2.0 600
Policy Server Msg 2003-03-07 14:52:24^M Via: SIP/2.0/UDP
139.153.254.196:5062^M CSeq: 7635 REGISTER^M To: "Stephan"
<sip:mrs@cs.stir.ac.uk>^M Expires: 900^M From: "Stephan"
<sip:mrs@cs.stir.ac.uk>^M Call-Id: 138108089(a)139.153.254.196^M User-Agent:
KPhone/2.11^M Event: registration^M Allow-Events: presence^M Contact: "root"
<sip:root@139.153.254.196:5062;transport=UDP>;methods="INVITE, MESSAGE,
INFO, SUBSCRIBE, OPTIONS, BYE, CANCEL, NOTIFY, ACK"^M Content-Length: 0^M ^M
^M
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: msg->len: 475
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: msg->parsed_uri_ok: int =
0
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: polserv: all fine,
returning now ...
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: ERROR: parse_sip_msg_uri:
bad uri <600>
Mar 7 14:52:41 d254196 /usr/local/sbin/ser[9566]: WARNING: do_action:error
in expression
--
Dr Stephan Reiff-Marganiec
Research Fellow
Department of Computing Science; University of Stirling
email: srm(a)cs.stir.ac.uk tel: 01786 46 7448
--
The University of Stirling is a university established in Scotland by
charter at Stirling, FK9 4LA. Privileged/Confidential Information may
be contained in this message. If you are not the addressee indicated
in this message (or responsible for delivery of the message to such
person), you may not disclose, copy or deliver this message to anyone
and any action taken or omitted to be taken in reliance on it, is
prohibited and may be unlawful. In such case, you should destroy this
message and kindly notify the sender by reply email. Please advise
immediately if you or your employer do not consent to Internet email
for messages of this kind. Opinions, conclusions and other
information in this message that do not relate to the official
business of the University of Stirling shall be understood as neither
given nor endorsed by it.
When I tryto go the page localhost/admin/index.php I get the following
error.
Warning: mysql_pconnect() [function.mysql-pconnect
<http://www.php.net/function.mysql-pconnect>]: Can't connect to local MySQL
server through socket '/tmp/mysql.sock' (2) in
/usr/local/serweb/phplib/db_mysql.inc on line 73
Database error: pconnect(localhost, ser, $Password) failed.
MySQL Error: ()
Session halted.
Any help would ne greatly appreciated.
Thanks
Craig Wolfe
Hello all, what file directs where SER looks for the mysql.sock file. In my
case mysql.sock is located in /tmp and as you can see SER is lookin for it
in /var/lib/mysql
Mar 10 16:46:33 ttalksvr /usr/sbin/ser[6592]: connect_db(): Can't connect to
local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Thanks Mike
We are contemplating building an Admin interface for SER that could run on a
windows os. We like the fact that the server is running on Linux but we
require a more intuitive interface for administration.
A web interface is not acceptable, just not enough functionality. We would
like to create an executable that runs on windows which interfaces with SER
server running on Linux.
I am curious if anyone else could make use of a GUI that would incorporate
all of the SER features and functionality. What do you think? Should we
attempt it? Does anyone have any preference on the language we use, e.g.
JAVA, C++ ?
Erik Lagerway
Xten Networks Inc.
7170-515 West Hastings St
Vancouver, BC
V6B5K3
Ph. 1.604.878.0440 ext.5
Some interesting modifications I have made to improve
acc process.
1)
--------------
Some changes made to acc.c to strip down the user
names for output and also to get missed calls logged
with callee rather than caller. It was showing missed
calls on the callers missed_calls.php which is
incorrect.
Here are the extracts, I can post the full prog if
required:
/*
JF added following block to extract to user
*/
str_copy(&to_user, &rq->to->body);
if ((ul_get_user(&to_user) < 0) ||
!to_user.len) {
LOG(L_ERR, "ERROR: acc_request: Error
while extracting to_username\n");
return -1;
}
/*
str_copy(&user, &rq->first_line.u.request.uri);
JF modified this copy statement to create correct acc
username (from not to!)
*/
str_copy(&user, &rq->from->body);
2)
---------------------
I modified the $q in accounting.php to the below to
include calls where BYE sent by callee as well as
caller (before it was not displaying calls when closed
by callee). Also elimination of double counting of
calls due to
multiple INVITEs being sent by UAC. max(time) is
required as distinct rows are produced if the invites
are > 1sec apart. "Group by" puts all the
INVITEs together so that the latest one can be
selected with max(). Assume that latest invite is
correct for measuring call start time. The max(time)
column has been aliased to c2 so that it can be used
in the output $time=Substr($row->c2,0,16).
Here it is:
$q="select distinct t1.sip_callid, max(t1.time) c2,
t1.sip_to,
sec_to_time(unix_timestamp(t2.time)-unix_timestamp(max(t1.time)))
as length ".
"from ".$config->table_accounting." t1,
".$config->table_accounting." t2 ".
"where (t1.user='".$auth->auth["uname"]."' and
t1.sip_method='INVITE') and
((t2.user='".$auth->auth["uname"]."' or
t2.sip_to='".$auth->auth["uname"]."') and
t2.sip_method='BYE') and ".
"t1.sip_callid=t2.sip_callid group by t1.sip_callid
".
"order by t1.time desc";
3) I modified the &q in missed_calls.php to the below
to include calls to aliases as well. The query looks
in the missed_calls table for the sip_to = logged-in
user and also joins with aliases table to extract
calls to alias of contact. Otherwise missed_calls.php
only provided calls made directly to a user and
ignored calls to aliases.
Here it is:
$q="select distinct t1.user, t1.sip_to, t1.time,
t1.sip_status, t1.sip_callid from
".$config->table_missed_calls."
t1,".$config->table_aliases." t2 where
t1.sip_to='".$auth->auth["uname"]."' OR
('sip:".$auth->auth["uname"]."@".$config->default_domain."'=t2.contact
AND t2.user=t1.sip_to) order by time desc";
echo $q;
4)
-----------------
Any comments will be appreciated.
__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/
How about a java applet for use with a web browser? I'd have no problem
with a
requirement for a Windows PC for management, but I can see it being an
issue
for others.
And yes I would use it, in whatever form it took.
Dan
-----Original Message-----
From: Erik Lagerway [mailto:sipdev@xten.com]
Sent: Thursday, March 06, 2003 1:50 PM
To: sip-implementors(a)cs.columbia.edu
Cc: serusers(a)lists.iptel.org
Subject: [Serusers] Admin Interface
We are contemplating building an Admin interface for SER that
could run on a windows os. We like the fact that the server is running
on Linux but we require a more intuitive interface for administration.
A web interface is not acceptable, just not enough
functionality. We would like to create an executable that runs on
windows which interfaces with SER server running on Linux.
I am curious if anyone else could make use of a GUI that would
incorporate all of the SER features and functionality. What do you
think? Should we attempt it? Does anyone have any preference on the
language we use, e.g. JAVA, C++ ?
Erik Lagerway
Xten Networks Inc.
7170-515 West Hastings St
Vancouver, BC
V6B5K3
Ph. 1.604.878.0440 ext.5
Hi,
I tried to use the SER SIP server together with a number of different
UAs. I successfully used a Pingtel phone, pingtel softphone, the
Ubiquity UA, and kphone on linux. However, when I tried to use SIPC from
Columbia Uni I keep getting eror messages 400: Bad Request. As all the
other UAs are working fine I assume this may be a problem with sipc.
Have you any experiences with using sipc and ser?
I attach an error log between the Pingtel phone (139.153.254.222) is
trying to send an INVITE to sipc (139.153.254.34). SER (and ngrep) are
running on 139.153.254.50. (registrations are going through fine and
also invites the other way (from sipc to pingtel) go through ok).
Thanks very much for your help!
Regards,
Mario
--
Mario Kolberg phone: +44 (0)1786 46 7440
Lecturer in Computing Science fax : +44 (0)1786 46 4551
email: mko(a)cs.stir.ac.uk
Department of Computing Science and Mathematics
University of Stirling
Stirling FK9 4LA
Scotland, UK
--
The University of Stirling is a university established in Scotland by
charter at Stirling, FK9 4LA. Privileged/Confidential Information may
be contained in this message. If you are not the addressee indicated
in this message (or responsible for delivery of the message to such
person), you may not disclose, copy or deliver this message to anyone
and any action taken or omitted to be taken in reliance on it, is
prohibited and may be unlawful. In such case, you should destroy this
message and kindly notify the sender by reply email. Please advise
immediately if you or your employer do not consent to Internet email
for messages of this kind. Opinions, conclusions and other
information in this message that do not relate to the official
business of the University of Stirling shall be understood as neither
given nor endorsed by it.
I everybody.
where can i download serweb????
at http://developer.berlios.de/projects/serweb/ there is not any release for
download and in home page it says "Web-based user provisioning, serweb,
available"
thank's all
-------------------------------------------------
This mail sent through IMP: http://mail.info.unlp.edu.ar/
Jiri,
Scenario is providing IP Telephony to the household.
I am more concern about the security of the Hardphone. I am thinking of auto-provisioned the hardphone (eg C7960, ATA186) without subsriber intervention. What the subscriber know is their phone # (Just like legacy phone system).
Since the Hardphone is 'hard-coded', the phone can move round the vicinity of the redisential area and still able to make a call. Potentially this will lead to abuse, as someone may take the phone to a different location when owner is not around and make a 'free' call, return back the phone and the billing still charge the original subsriber.
Any other suggestion to counter this issue is much appreacited.
SSng
-----Original Message-----
From: Jiri Kuthan [mailto:jiri@iptel.org]
Sent: Wednesday, March 05, 2003 12:18 AM
To: Ng, Soo Sim; serusers(a)lists.iptel.org
Subject: Re: [Serusers] multiple registration on one user login
At 03:08 PM 3/4/2003, Ng, Soo Sim wrote:
>I have such requirements. In providing sip-based residential ip telephony, I would like to restrict each home subsriber is only allowed to register one UA per account. This would make easy for billing purposes and for security reasons.
>
>Is there a way to achieve this requirement with SER?
If that is your desparate wish, it is little overhead to make you happy.
I'm still not sure though, it is a useful thing.
Maybe an operator can make more revennues if my wife can accept calls at
any phone in my building and initiate calls in parallel with my doughter.
What are exactly the billing/security reasons here?
-Jiri
Hello,
I fear that such a case can't be avoided with allowing only
a single registration. If I steal your phone away from your
desk, you will not register with it anymore, but I will and
we will have exactly one valid registration. Leaving SIP
phones with hard-wired passwords on your desk has simply the
same potential as leaving your credit-card or cell-phone there.
What can be done about fraud?
User education -- don't leave your money and phone unattended.
Hotline -- report stolen phones to lock the account.
PIN Lock -- use phones which can log-off and log-on (I'm not aware
of any now -- only 3com used to do that)
-Jiri
ps -- ability to move is a feature. I know people who are very glad
to use Vonage's US phone number and move with their ATAs and the
US phone number around in Europe.
At 11:37 PM 3/5/2003, Ng, Soo Sim wrote:
>Jiri,
>
>Scenario is providing IP Telephony to the household.
>I am more concern about the security of the Hardphone. I am thinking of auto-provisioned the hardphone (eg C7960, ATA186) without subsriber intervention. What the subscriber know is their phone # (Just like legacy phone system).
>
>Since the Hardphone is 'hard-coded', the phone can move round the vicinity of the redisential area and still able to make a call. Potentially this will lead to abuse, as someone may take the phone to a different location when owner is not around and make a 'free' call, return back the phone and the billing still charge the original subsriber.
>
>Any other suggestion to counter this issue is much appreacited.
>
>SSng
>
>-----Original Message-----
>From: Jiri Kuthan [mailto:jiri@iptel.org]
>Sent: Wednesday, March 05, 2003 12:18 AM
>To: Ng, Soo Sim; serusers(a)lists.iptel.org
>Subject: Re: [Serusers] multiple registration on one user login
>
>
>At 03:08 PM 3/4/2003, Ng, Soo Sim wrote:
>>I have such requirements. In providing sip-based residential ip telephony, I would like to restrict each home subsriber is only allowed to register one UA per account. This would make easy for billing purposes and for security reasons.
>>
>>Is there a way to achieve this requirement with SER?
>
>If that is your desparate wish, it is little overhead to make you happy.
>I'm still not sure though, it is a useful thing.
>
>Maybe an operator can make more revennues if my wife can accept calls at
>any phone in my building and initiate calls in parallel with my doughter.
>
>What are exactly the billing/security reasons here?
>
>-Jiri
--
Jiri Kuthan http://iptel.org/~jiri/
I have to dig at it abit, but it may also be a codec issue on the Phone.
I had a similar error before telling the Cisco which codec to use. I see
you are using G711Alaw. Can you try G711Ulaw?
The PSTN hand-off section of your config looks very familiar to me, so if
you did pull it from the Howto, note that it is an example of what worked
for me. I've seen quite a few much more sophisticated scripts on the list.
Dan
-----Original Message-----
From: Jiri Kuthan [mailto:jiri@iptel.org]
Sent: Wednesday, March 05, 2003 2:29 AM
To: Rikard Westlund; serusers(a)lists.iptel.org
Subject: Re: [Serusers] Messenger 4.7, CIsco and PSTN
I suspect what happens is that you forward the requests with your server's address in its r-uri to gateway "as is" and the Cisco
gateway would like to see its IP address in the r-uri instead. Try rewriting r-uri -- see bellow.
As for the Messenger problem, see our doc http://www.iptel.org/ser/doc/seruser-html/x878.html#AEN890
-Jiri
At 11:04 AM 3/5/2003, Rikard Westlund wrote:
>Hi all,
>
>I have a Ser 0.8.10-2 install on a Redhat 7.3 kernel 2.4.18-3.
>
>As clients I use Pingtel and messenger 4.7. I have followed the setup
>guide on http://www.fitawi.com/ser-Howto.html
>
>I can register the pingtel phone with no problem. I can call from the
>PSTN to the pingtel via a Cisco AS5300 with no problems.
>
>When i try toi call from pingtel to PSTN iget the following answer:
>
>1. from pingtel to ser - INVITE sip:<pstnnumber>@serserver_ip 2. from
>ser to pingtel - Status: 100 trying 3. from ser to cisco - INVITE
>sip:<pstnnumber>@serserver_ip 4. from cisco to ser - Status: 400 bad
>request - Ãnvalid IP address' 5. from cisco to ser - Status: 400 bad
>request - Ãnvalid IP address'
>
>This is my ser.cfg:
>
># $Id: ser.cfg,v 1.12 2002/10/21 02:40:06 jiri Exp $
>#
># simple quick-start config script
>#
>
># ----------- global configuration parameters ------------------------
>
>debug=4 # debug level (cmd line: -dddddddddd)
>fork=yes
>log_stderror=no # (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 ----------------------------------
>
># 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"
>
># Uncomment this if you want digest authentication
># mysql.so must be loaded !
>loadmodule "//usr/lib/ser/modules/auth.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", "secret", "alsdkhglaksdhfkloiwr") modparam("auth",
>"calculate_ha1", yes) #
># If you set "calculate_ha1" parameter to yes (which true in this config),
># uncomment also the following parameter)
>#
>modparam("auth", "password_column", "password")
>
># ------------------------- request routing logic -------------------
>
># main routing logic
>
>route{
>
> # initial sanity checks -- messages with
> # max_forwars==0, or excessively long requests
> if (!mf_process_maxfwd_header("10")) {
> sl_send_reply("483","Too Many Hops");
> break;
> };
> if (len_gt( max_len )) {
> sl_send_reply("513", "Message too big");
> break;
> };
>
>
> # Do strict routing if pre-loaded route headers present
> rewriteFromRoute();
>
> # 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("norrtull.nexus.se", "subscriber")) {
> www_challenge("norrtull.nexus.se", "0");
> break;
> };
>
> save("location");
> break;
> };
>
># attempt handoff to PSTN
>
> if (uri=~"^sip:1[0-9]*@norrtull.nexus.se") { ## This assumes that the caller is
> log("Forwarding to PSTN\n"); ## registered in our realm
*** here *** rewrite uri prior to fwd-ing.
rewritehostport("cisco_ip:5060");
> t_relay_to( "cisco_ip", "5060"); ## Our Cisco router
> 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
> if (!t_relay()) {
> sl_reply_error();
> };
>
>}
>
>---------------------------------
>
>In the cisco I have the following config:
>
>!
>dail-peer voice 25 voip
>destination-pattern XXXX
>session protocol sipv2
>codec g711alaw
>no vad
>session target ipv4:serserver_ip
>!
>
>I have added 2 subscribers with the serctl command and registration is
>working well from pingtel. In Messenger 4.7 it's not working at all. I
>get 401 Unauthorized.
>
>Well I think thats about it..
>
>Please feel free to contact me if you need more information
>
>Best regards
>
>Rikard Westlund
>
>
>
>_________________________________________________________________
>Tired of spam? Get advanced junk mail protection with MSN 8.
>http://join.msn.com/?page=features/junkmail
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
--
Jiri Kuthan http://iptel.org/~jiri/
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Hi all,
I have a Ser 0.8.10-2 install on a Redhat 7.3 kernel 2.4.18-3.
As clients I use Pingtel and messenger 4.7. I have followed the setup guide
on
http://www.fitawi.com/ser-Howto.html
I can register the pingtel phone with no problem. I can call from the PSTN
to the pingtel via a Cisco AS5300 with no problems.
When i try toi call from pingtel to PSTN iget the following answer:
1. from pingtel to ser - INVITE sip:<pstnnumber>@serserver_ip
2. from ser to pingtel - Status: 100 trying
3. from ser to cisco - INVITE sip:<pstnnumber>@serserver_ip
4. from cisco to ser - Status: 400 bad request - Ãnvalid IP address'
5. from cisco to ser - Status: 400 bad request - Ãnvalid IP address'
This is my ser.cfg:
# $Id: ser.cfg,v 1.12 2002/10/21 02:40:06 jiri Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=4 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (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 ----------------------------------
# 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"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "//usr/lib/ser/modules/auth.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", "secret", "alsdkhglaksdhfkloiwr")
modparam("auth", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
modparam("auth", "password_column", "password")
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwars==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if (len_gt( max_len )) {
sl_send_reply("513", "Message too big");
break;
};
# Do strict routing if pre-loaded route headers present
rewriteFromRoute();
# 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("norrtull.nexus.se", "subscriber")) {
www_challenge("norrtull.nexus.se", "0");
break;
};
save("location");
break;
};
# attempt handoff to PSTN
if (uri=~"^sip:1[0-9]*@norrtull.nexus.se") { ## This
assumes that the caller is
log("Forwarding to PSTN\n"); ## registered in
our realm
t_relay_to( "cisco_ip", "5060"); ## Our Cisco
router
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
if (!t_relay()) {
sl_reply_error();
};
}
---------------------------------
In the cisco I have the following config:
!
dail-peer voice 25 voip
destination-pattern XXXX
session protocol sipv2
codec g711alaw
no vad
session target ipv4:serserver_ip
!
I have added 2 subscribers with the serctl command and registration is
working well from pingtel. In Messenger 4.7 it's not working at all. I get
401 Unauthorized.
Well I think thats about it..
Please feel free to contact me if you need more information
Best regards
Rikard Westlund
_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8.
http://join.msn.com/?page=features/junkmail
I copied a few SNOM phone messages to the list.
I am having problems communicating with the
SNOM phone.
I guess it isn't working because the SNOM phone
sends a PRACK after the 183, and the received
OK doesn't have a 'Record-Route'. This doesn't make
sense to me. I don't know why the phone is listening
to the first OK (the OK to the PRACK) rather than the
second OK (the OK to the INVITE).
If that is the way it is then do I have the PROXY mis-configured?
-----
if(method=="INVITE" | method=="BYE" | method=="PRACK")
{
log(1,"TRACE: addRecordRoute()");
setflag(1);
setflag(2);
addRecordRoute();
};
append_hf("P-hint: ATEND\r\n");
if(!t_relay())
{
sl_reply_error();
break;
};
When I do a ngrep trace, I see the packet being relayed...
----
#
U 2003/03/03 20:05:59.858473 216.87.145.22:5060 -> 216.87.144.203:5060
PRACK sip:2143357976@216.87.144.203;branch=0 SIP/2.0.
Via: SIP/2.0/UDP 216.87.145.22:5060;branch=z9hG4bK-bec8z5qwsbqg.
Max-Forwards: 70.
RAck: 5620 2 INVITE.
From: "snom man" <sip:4695461245@augustvoice.net>;tag=1r1bpkl72i.
To: <sip:2143357976@augustvoice.net;user=phone>;tag=63631E34-197C.
Call-ID: 3c26f8de39d9-7dyvkrekeha3(a)216.87.145.22.
CSeq: 4 PRACK.
Route: <sip:92143357976@216.87.144.196:5060;user=phone>.
Contact: <sip:4695461245@216.87.145.22:5060;line=1>.
Content-Length: 0.
Authorization: Digest
username="4695461245",realm="augustvoice.net",nonce="3e640b3300000000dbb
edccd04f755cac7e3b6dd55d202c9",uri="sip:",response="3693b828395cd40fe1b1
ab5f9ad61308",algorithm=md5.
.
#
U 2003/03/03 20:05:59.859540 216.87.144.203:5060 -> 216.87.144.196:5060
PRACK sip:92143357976@216.87.144.196:5060;user=phone SIP/2.0.
Record-Route: <sip:2143357976@216.87.144.203;branch=0>.
Via: SIP/2.0/UDP 216.87.144.203;branch=z9hG4bKe44a.ff0091c4.0.
Via: SIP/2.0/UDP 216.87.145.22:5060;branch=z9hG4bK-bec8z5qwsbqg.
Max-Forwards: 69.
RAck: 5620 2 INVITE.
From: "snom man" <sip:4695461245@augustvoice.net>;tag=1r1bpkl72i.
To: <sip:2143357976@augustvoice.net;user=phone>;tag=63631E34-197C.
Call-ID: 3c26f8de39d9-7dyvkrekeha3(a)216.87.145.22.
CSeq: 4 PRACK.
Contact: <sip:4695461245@216.87.145.22:5060;line=1>.
Content-Length: 0.
Authorization: Digest
username="4695461245",realm="augustvoice.net",nonce="3e640b3300000000dbb
edccd04f755cac7e3b6dd55d202c9",uri="sip:",response="3693b828395cd40fe1b1
ab5f9ad61308",algorithm=md5.
P-hint: ATEND.
.
#
U 2003/03/03 20:05:59.861477 216.87.144.196:5060 -> 216.87.144.203:5060
SIP/2.0 200 OK.
Via: SIP/2.0/UDP
216.87.144.203;branch=z9hG4bKe44a.ff0091c4.0,SIP/2.0/UDP
216.87.145.22:5060;branch=z9hG4bK-bec8z5qwsbqg.
From: "snom man" <sip:4695461245@augustvoice.net>;tag=1r1bpkl72i.
To: <sip:2143357976@augustvoice.net;user=phone>;tag=63631E34-197C.
Date: Tue, 04 Mar 2003 02:05:59 GMT.
Call-ID: 3c26f8de39d9-7dyvkrekeha3(a)216.87.145.22.
Server: Cisco-SIPGateway/IOS-12.x.
CSeq: 4 PRACK.
Content-Length: 0.
.
#
U 2003/03/03 20:05:59.861705 216.87.144.203:5060 -> 216.87.145.22:5060
SIP/2.0 200 OK.
Via:SIP/2.0/UDP 216.87.145.22:5060;branch=z9hG4bK-bec8z5qwsbqg.
From: "snom man" <sip:4695461245@augustvoice.net>;tag=1r1bpkl72i.
To: <sip:2143357976@augustvoice.net;user=phone>;tag=63631E34-197C.
Date: Tue, 04 Mar 2003 02:05:59 GMT.
Call-ID: 3c26f8de39d9-7dyvkrekeha3(a)216.87.145.22.
Server: Cisco-SIPGateway/IOS-12.x.
CSeq: 4 PRACK.
Content-Length: 0.
.
-----
There is a Record-route going out, but not one coming back.
Does a Record-route need to be injected into the last
OK back to the UA?
This is too hard :-)
---greg
I installed ser stable then unstable debs on my 2.2.20 kernel install of
unstable debian.
Errors:
when init.d/ser start:
Starting ser: serToo much shared memory demanded: 33554432
Terminated
SYSLOG:
Mar 5 10:09:19 webserver ser: ERROR: shm_mem_init: could not attach
shared
memo
ry segment: Invalid argument
Mar 5 10:09:19 webserver ser: could not initialize shared memory pool,
exiting.
a friend sent me:
scmctl
from shmctl(2):
Various fields in a struct shmid_ds were shorts under Linux 2.2 and
have become longs under Linux 2.4. To take advantage of this, a
recompilation under glibc-2.1.91 or later should suffice. (The kernel dis-tinguishes
old and new calls by a IPC_64 flag in cmd.)
Do I need kernel 2.4? Any hints? Have I missed some documentation?
Jaime Hemmett
At 03:08 PM 3/4/2003, Ng, Soo Sim wrote:
>I have such requirements. In providing sip-based residential ip telephony, I would like to restrict each home subsriber is only allowed to register one UA per account. This would make easy for billing purposes and for security reasons.
>
>Is there a way to achieve this requirement with SER?
If that is your desparate wish, it is little overhead to make you happy.
I'm still not sure though, it is a useful thing.
Maybe an operator can make more revennues if my wife can accept calls at
any phone in my building and initiate calls in parallel with my doughter.
What are exactly the billing/security reasons here?
-Jiri
Jan Janak writes: > Yes, several UAs can register with the same account and currently there > is no way in ser how to prevent it. Do you really need such a > restriction ? If you do that, users will be unable to register several > phones or user agents and utilize forking, for example. yes, i agree that allowing many uas to register the same uri is very useful. the only problem that i see in ser regarding it is that ser doesn't yet implement sequential forking based on the q value. it would we great if first my sip ua would ring and it that times out, then my mobile phone would ring. -- juha
============
I have such requirements. In providing sip-based residential ip telephony, I would like to restrict each home subsriber is only allowed to register one UA per account. This would make easy for billing purposes and for security reasons.
Is there a way to achieve this requirement with SER?
Hi,
I'm writing a module which requires to see request messages and also
responses. So I have declared a response_function. The function looks like:
static int fi_response(struct sip_msg* msg, char* str1, char* str2);
and I put it into the module_exports structure like this:
#ifdef STATIC_FI
struct module_exports fi_exports = {
#else
struct module_exports exports= {
#endif
"fi_module",
(char*[]){ "fi_request", "fi_response" },
(cmd_function[]){ fi_request, fi_response },
(int[]){ 0, 0 },
(fixup_function[]){ 0 },
2, /* Number of exported functions*/
NULL, /* Module parameter names */
NULL, /* Module parameter types */
NULL, /* Module parameter variable pointers */
0, /* Number of module paramers */
mod_init,
fi_response,
(destroy_function) 0,
0,
0
};
I'm wondering if I correctly declared the function as I'm getting a
warning during compilation about incompatible pointer types (4th last
line in structure where the function is declared as response function).
I really only need the message as parameter. What should the parameters be?
This is for the CVS version of SER.
Thanks very much for your help!
Regards,
Mario
--
Mario Kolberg phone: +44 (0)1786 46 7440
Lecturer in Computing Science fax : +44 (0)1786 46 4551
email: mko(a)cs.stir.ac.uk
Department of Computing Science and Mathematics
University of Stirling
Stirling FK9 4LA
Scotland, UK
--
The University of Stirling is a university established in Scotland by
charter at Stirling, FK9 4LA. Privileged/Confidential Information may
be contained in this message. If you are not the addressee indicated
in this message (or responsible for delivery of the message to such
person), you may not disclose, copy or deliver this message to anyone
and any action taken or omitted to be taken in reliance on it, is
prohibited and may be unlawful. In such case, you should destroy this
message and kindly notify the sender by reply email. Please advise
immediately if you or your employer do not consent to Internet email
for messages of this kind. Opinions, conclusions and other
information in this message that do not relate to the official
business of the University of Stirling shall be understood as neither
given nor endorsed by it.
Hi,
I'm using the CVS version of SER and I found a frequent error message in
the SER log. I'm not sure what this means.
Mar 4 12:06:08 DISCUS /usr/local/sbin/ser[1020]: ERROR: set_kr:
kill_reason reset: from=1 to=2
Mar 4 12:06:08 DISCUS /usr/local/sbin/ser[1020]: ERROR: set_kr:
kill_reason reset: from=1 to=2
The error usually occurs in pairs, but the values for 'from' and 'to'
vary. How can I fix it?
Thanks!
Mario
--
Mario Kolberg phone: +44 (0)1786 46 7440
Lecturer in Computing Science fax : +44 (0)1786 46 4551
email: mko(a)cs.stir.ac.uk
Department of Computing Science and Mathematics
University of Stirling
Stirling FK9 4LA
Scotland, UK
--
The University of Stirling is a university established in Scotland by
charter at Stirling, FK9 4LA. Privileged/Confidential Information may
be contained in this message. If you are not the addressee indicated
in this message (or responsible for delivery of the message to such
person), you may not disclose, copy or deliver this message to anyone
and any action taken or omitted to be taken in reliance on it, is
prohibited and may be unlawful. In such case, you should destroy this
message and kindly notify the sender by reply email. Please advise
immediately if you or your employer do not consent to Internet email
for messages of this kind. Opinions, conclusions and other
information in this message that do not relate to the official
business of the University of Stirling shall be understood as neither
given nor endorsed by it.
Greg,
ooppss that actually changes the scene. Maybe it was too late for me
last night alreadyÂ… You are right, the 200 Ok goes to the PRACK and the
phone mixes that up. I changed it in the phone code and that will be
part of the next release.
Thanks,
Christian
-----Ursprüngliche Nachricht-----
Von: Robert Messer [mailto:rmesser@abpintl.com]
Gesendet: Dienstag, 4. März 2003 02:25
An: cs(a)snom.de
Betreff: FW: Snom phone (fwd) more fromn greg fausak
FYI – More from greg
Robert Messer
972-745-1220 Direct
___________________
ABP International, Inc.
snom technology - VoIP Phones
www.abptech.com
972-745-1221 Phone
972-745-1226 Fax
-----Original Message-----
From: Greg Fausak [mailto:greg@august.net]
Sent: Monday, March 03, 2003 6:13 PM
To: 'Kevin'
Cc: 'Robert Messer'; sip(a)august.net; serusers(a)lists.iptel.org
Subject: RE: Snom phone (fwd)
Kevin,
I initially sent the packet:
> > > This is that packet that came from the last 200 OK <- PROXY:
> > >
> > > #
> > > U 2003/02/24 07:56:52.503535 216.87.144.203:5060 ->
> > 216.87.145.22:5060
> > > SIP/2.0 200 OK.
> > > Via: SIP/2.0/UDP 216.87.145.22:5060;branch=z9hG4bK-ng5tokyx448r.
> > > From: "snom man" <sip:4695461245@augustvoice.net>;tag=8u6ju8wxuc.
> > > To: <sip:2143357976@augustvoice.net;user=phone>;tag=3CBB0360-532.
> > > Date: Mon, 24 Feb 2003 13:56:43 GMT.
> > > Call-ID: 3c267202b6a8-lgseu8olovlp(a)216.87.145.22.
> > > Server: Cisco-SIPGateway/IOS-12.x.
> > > CSeq: 2 INVITE.
> > > Session-Expires: 7200;refresher=uac.
> > > Require: timer.
> > > Allow-Events: telephone-event.
> > > Contact: <sip:92143357976@216.87.144.196:5060;user=phone>.
> > > Record-Route: <sip:2143357976@216.87.144.203;ftag=8u6ju8wxuc;lr>.
> > > Content-Type: application/sdp.
> > > Content-Length: 209.
> > > .
> > > v=0.
> > > o=CiscoSystemsSIP-GW-UserAgent 7543 5694 IN IP4 216.87.144.196.
> > > s=SIP Call.
> > > c=IN IP4 216.87.144.196.
> > > t=0 0.
> > > m=audio 16632 RTP/AVP 0 100.
> > > a=rtpmap:0 PCMU/8000.
> > > a=rtpmap:100 X-NSE/8000.
> > > a=fmtp:100 192-194.
> > >
This is the 200 OK (response to the INVITE) message as delivered to the
phone.
I couldn't figure out what you were saying, so I went back to
the ethereal trace. After the snom phone receives a 183 status
message, it sends a PRACK to the PROXY. This PRACK is
OKed, without a Record-route. The next message is an OK
responding to the original INVITE, which does indeed have a
Record-Route.
So, you are saying that the OK to your PRACK needs a record route?
I can do that I think, because the OK to the INVITE does indeed have
a Record-route.
I don't even know what a PRACK is for...
---greg
-----Original Message-----
From: Kevin [mailto:kmoroz@abpintl.com]
Sent: Monday, March 03, 2003 5:19 PM
To: Greg Fausak
Cc: 'Robert Messer'
Subject: FW: Snom phone (fwd)
Hi Greg,
Sorry it took so long to get back to you. Normally it is faster but
as I stated the SIP inter-
operability was last week which caused the delay. Looks like the issue
is with the
SER proxy. If I knew the specification deeper I should have been able
to answer it myself. Engineering ccÂ’s Jiri on their response to me so
he is aware of the issue.
Regards,
Kevin
-----Original Message-----
The phone updates the route until it receives a 2xx code. The 200 Ok
response does not contain such a route therefore the phone uses the last
route it receives in the 200 – which is empty. Therefore, the phone MUST
send the ACK directly to the gateway.
§ 12.1.2 of the RFC3261. The dialog is NOT established by the
401-challened request.
The proxy can very easily solve the problem by putting itself into the
routing path of the 200 Ok.
Robert,
the gateway mandates PRACK, that cant be turned off. The OPTIONS can be
avoided if the phone is set to use REFER explicitly.
CS
-----Ursprüngliche Nachricht-----
Von: Robert Messer [mailto:rmesser@abpintl.com]
Gesendet: Dienstag, 4. März 2003 05:58
An: cs(a)snom.de
Betreff: RE: Snom phone (fwd)
Kevin,
I will try to modify the code accordingly, however,
I've been looking at the OPTIONS tag. Perhaps I can tell the
snom phone not to use PRACK? I'll look into that.
Thanks,
---greg
-----Original Message-----
From: Kevin [mailto:kmoroz@abpintl.com]
Sent: Monday, March 03, 2003 8:09 PM
To: 'Greg Fausak'
Cc: 'Robert Messer'; sip(a)august.net; serusers(a)lists.iptel.org
Subject: RE: Snom phone (fwd)
Greg,
According to snom engineering you should put the routing
information in the first 200 OK we receive. Can you do that and try it?
You can test against my proxy if you like to see how it should work.
Regards,
Kevin
-----Original Message-----
From: Greg Fausak [mailto:greg@august.net]
Sent: Monday, March 03, 2003 7:13 PM
To: 'Kevin'
Cc: 'Robert Messer'; sip(a)august.net; serusers(a)lists.iptel.org
Subject: RE: Snom phone (fwd)
Kevin,
I initially sent the packet:
> > > This is that packet that came from the last 200 OK <- PROXY:
> > >
> > > #
> > > U 2003/02/24 07:56:52.503535 216.87.144.203:5060 ->
> > 216.87.145.22:5060
> > > SIP/2.0 200 OK.
> > > Via: SIP/2.0/UDP 216.87.145.22:5060;branch=z9hG4bK-ng5tokyx448r.
> > > From: "snom man" <sip:4695461245@augustvoice.net>;tag=8u6ju8wxuc.
> > > To: <sip:2143357976@augustvoice.net;user=phone>;tag=3CBB0360-532.
> > > Date: Mon, 24 Feb 2003 13:56:43 GMT.
> > > Call-ID: 3c267202b6a8-lgseu8olovlp(a)216.87.145.22.
> > > Server: Cisco-SIPGateway/IOS-12.x.
> > > CSeq: 2 INVITE.
> > > Session-Expires: 7200;refresher=uac.
> > > Require: timer.
> > > Allow-Events: telephone-event.
> > > Contact: <sip:92143357976@216.87.144.196:5060;user=phone>.
> > > Record-Route: <sip:2143357976@216.87.144.203;ftag=8u6ju8wxuc;lr>.
> > > Content-Type: application/sdp.
> > > Content-Length: 209.
> > > .
> > > v=0.
> > > o=CiscoSystemsSIP-GW-UserAgent 7543 5694 IN IP4 216.87.144.196.
> > > s=SIP Call.
> > > c=IN IP4 216.87.144.196.
> > > t=0 0.
> > > m=audio 16632 RTP/AVP 0 100.
> > > a=rtpmap:0 PCMU/8000.
> > > a=rtpmap:100 X-NSE/8000.
> > > a=fmtp:100 192-194.
> > >
This is the 200 OK (response to the INVITE) message as delivered to the
phone.
I couldn't figure out what you were saying, so I went back to
the ethereal trace. After the snom phone receives a 183 status
message, it sends a PRACK to the PROXY. This PRACK is
OKed, without a Record-route. The next message is an OK
responding to the original INVITE, which does indeed have a
Record-Route.
So, you are saying that the OK to your PRACK needs a record route?
I can do that I think, because the OK to the INVITE does indeed have
a Record-route.
I don't even know what a PRACK is for...
---greg
-----Original Message-----
From: Kevin [mailto:kmoroz@abpintl.com]
Sent: Monday, March 03, 2003 5:19 PM
To: Greg Fausak
Cc: 'Robert Messer'
Subject: FW: Snom phone (fwd)
Hi Greg,
Sorry it took so long to get back to you. Normally it is faster but
as I stated the SIP inter-
operability was last week which caused the delay. Looks like the issue
is with the
SER proxy. If I knew the specification deeper I should have been able
to answer it myself. Engineering ccÂ’s Jiri on their response to me so
he is aware of the issue.
Regards,
Kevin
-----Original Message-----
The phone updates the route until it receives a 2xx code. The 200 Ok
response does not contain such a route therefore the phone uses the last
route it receives in the 200 – which is empty. Therefore, the phone MUST
send the ACK directly to the gateway.
§ 12.1.2 of the RFC3261. The dialog is NOT established by the
401-challened request.
The proxy can very easily solve the problem by putting itself into the
routing path of the 200 Ok.
Kevin,
I initially sent the packet:
> > > This is that packet that came from the last 200 OK <- PROXY:
> > >
> > > #
> > > U 2003/02/24 07:56:52.503535 216.87.144.203:5060 ->
> > 216.87.145.22:5060
> > > SIP/2.0 200 OK.
> > > Via: SIP/2.0/UDP 216.87.145.22:5060;branch=z9hG4bK-ng5tokyx448r.
> > > From: "snom man" <sip:4695461245@augustvoice.net>;tag=8u6ju8wxuc.
> > > To: <sip:2143357976@augustvoice.net;user=phone>;tag=3CBB0360-532.
> > > Date: Mon, 24 Feb 2003 13:56:43 GMT.
> > > Call-ID: 3c267202b6a8-lgseu8olovlp(a)216.87.145.22.
> > > Server: Cisco-SIPGateway/IOS-12.x.
> > > CSeq: 2 INVITE.
> > > Session-Expires: 7200;refresher=uac.
> > > Require: timer.
> > > Allow-Events: telephone-event.
> > > Contact: <sip:92143357976@216.87.144.196:5060;user=phone>.
> > > Record-Route: <sip:2143357976@216.87.144.203;ftag=8u6ju8wxuc;lr>.
> > > Content-Type: application/sdp.
> > > Content-Length: 209.
> > > .
> > > v=0.
> > > o=CiscoSystemsSIP-GW-UserAgent 7543 5694 IN IP4 216.87.144.196.
> > > s=SIP Call.
> > > c=IN IP4 216.87.144.196.
> > > t=0 0.
> > > m=audio 16632 RTP/AVP 0 100.
> > > a=rtpmap:0 PCMU/8000.
> > > a=rtpmap:100 X-NSE/8000.
> > > a=fmtp:100 192-194.
> > >
This is the 200 OK (response to the INVITE) message as delivered to the
phone.
I couldn't figure out what you were saying, so I went back to
the ethereal trace. After the snom phone receives a 183 status
message, it sends a PRACK to the PROXY. This PRACK is
OKed, without a Record-route. The next message is an OK
responding to the original INVITE, which does indeed have a
Record-Route.
So, you are saying that the OK to your PRACK needs a record route?
I can do that I think, because the OK to the INVITE does indeed have
a Record-route.
I don't even know what a PRACK is for...
---greg
-----Original Message-----
From: Kevin [mailto:kmoroz@abpintl.com]
Sent: Monday, March 03, 2003 5:19 PM
To: Greg Fausak
Cc: 'Robert Messer'
Subject: FW: Snom phone (fwd)
Hi Greg,
Sorry it took so long to get back to you. Normally it is faster but
as I stated the SIP inter-
operability was last week which caused the delay. Looks like the issue
is with the
SER proxy. If I knew the specification deeper I should have been able
to answer it myself. Engineering ccÂ’s Jiri on their response to me so
he is aware of the issue.
Regards,
Kevin
-----Original Message-----
The phone updates the route until it receives a 2xx code. The 200 Ok
response does not contain such a route therefore the phone uses the last
route it receives in the 200 – which is empty. Therefore, the phone MUST
send the ACK directly to the gateway.
§ 12.1.2 of the RFC3261. The dialog is NOT established by the
401-challened request.
The proxy can very easily solve the problem by putting itself into the
routing path of the 200 Ok.
Hi all,
i have found some probs with the radius_auth module in ser.
the ane in the function authorize() in file authorize.c :
when calling the function check_nonce this function returns always that the
two nonce's (given and new generated one are not the same. But if we compare
the two nonce's manually both are the same. I replaced the memcmp function
with the strcmp funtion,but nothings changes. So there is may a missing \0
at the end of the strings.
Next problem is in the function check_response:
On Solaris we have no freeradiusd ,so I replaced it through
radius_authorize(...).
If the function radius_authorize is called, the radiusmessage will be
created through calling the function rc_avpair_add(...). All is fine if it
will be standard radius-attributes. when the first sip-specific attribute is
comming the rc_avpair_add funtions returns -1. I followed this problem and
find out that in the radiusclient-lib. in function
rc_avpair_assign(avpair.c)/rc_avpair_new(avpair.c) only attributes of the
types PW_TYPE_STRING, PW_TYPE_DATE, PW_TYPE_INTEGER, PW_TYPE_IPADDR are
reccognised. If a PW_SIP_USER_ID attribute or other specific Sip attributes
will be added to the radiusmessage, this function returns with error message
"UNKNOWN ATTIBUTE TYPE" and no radius-authentification is done....
....
RADIUS: rc_avpair_new MALLOC erfolgreich
RADIUS: rc_avpair_assign type=0
RADIUS rc_avpair_assign result=0
RADIUS: rc_avpair_new unknown attribute 110
RADIUS: VALUEPAIR insert fehgeschlagen.!!!
check_cred(): returnvalue of radius_authorize()=-1
....
One possibility is that, I add the PW_SIP_* attributes to the radiusclient
and look, if it run.
The next Problem may be, that the radius server does not understand the sip
specific attributes, if we not use freeradius.
Gruß Bjoern
Hi all,
ich added following lines in avpair.c function rc_avpair_assign before "case
PW_TYPE_STRING:":
case PW_SIP_USER_ID:
case PW_SIP_USER_REALM:
case PW_SIP_USER_NONCE:
case PW_SIP_USER_METHOD:
case PW_SIP_USER_DIGEST_URI:
case PW_SIP_USER_NONCE_COUNT:
case PW_SIP_USER_QOP:
case PW_SIP_USER_OPAQUE:
case PW_SIP_USER_RESPONSE:
case PW_SIP_USER_CNONCE:
case PW_TYPE_STRING:
this should help to build the radius-message.
Bjoern
Hi,
I've been working on a problem which I thought was a postgres driver problem,
but now I'm not so sure.
I put a bunch of debug statements in the driver functions. I've grepped
the debugs for db_init|db_close|connect_db|disconnect_db and
here is what I have:
-----------cut------------
Mar 1 23:59:49 rave ser[1803]: db_init(): sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME
Mar 1 23:59:49 rave ser[1803]: connect_db(): here we go
Mar 1 23:59:49 rave ser[1803]: connect_db(): we are connected /tmp/debug.1803.out
Mar 1 23:59:49 rave ser[1804]: db_close(): disconnect_db()
Mar 1 23:59:49 rave ser[1804]: disconnect_db(): entry
Mar 1 23:59:49 rave ser[1804]: disconnect_db(): PQfinish()
Mar 1 23:59:49 rave ser[1804]: db_close(): free self
Mar 1 23:59:49 rave ser[1804]: db_init(): sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME
Mar 1 23:59:49 rave ser[1804]: connect_db(): here we go
Mar 1 23:59:49 rave ser[1805]: db_close(): disconnect_db()
Mar 1 23:59:49 rave ser[1805]: disconnect_db(): entry
Mar 1 23:59:49 rave ser[1805]: disconnect_db(): PQfinish()
Mar 1 23:59:49 rave ser[1805]: db_close(): free self
Mar 1 23:59:49 rave ser[1805]: db_init(): sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME
Mar 1 23:59:49 rave ser[1805]: connect_db(): here we go
Mar 1 23:59:49 rave ser[1806]: db_close(): disconnect_db()
Mar 1 23:59:49 rave ser[1806]: disconnect_db(): entry
Mar 1 23:59:49 rave ser[1806]: disconnect_db(): PQfinish()
Mar 1 23:59:49 rave ser[1806]: db_close(): free self
Mar 1 23:59:49 rave ser[1804]: connect_db(): we are connected /tmp/debug.1804.out
Mar 1 23:59:49 rave ser[1806]: db_init(): sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME
Mar 1 23:59:49 rave ser[1804]: db_init(): sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME
Mar 1 23:59:49 rave ser[1806]: connect_db(): here we go
Mar 1 23:59:49 rave ser[1804]: connect_db(): here we go
Mar 1 23:59:49 rave ser[1805]: connect_db(): we are connected /tmp/debug.1805.out
Mar 1 23:59:49 rave ser[1805]: db_init(): sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME
Mar 1 23:59:49 rave ser[1805]: connect_db(): here we go
Mar 1 23:59:49 rave ser[1804]: connect_db(): we are connected /tmp/debug.1804.out
Mar 1 23:59:50 rave ser[1805]: connect_db(): we are connected /tmp/debug.1805.out
Mar 1 23:59:50 rave ser[1806]: connect_db(): we are connected /tmp/debug.1806.out
Mar 1 23:59:50 rave ser[1806]: db_init(): sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME
Mar 1 23:59:50 rave ser[1806]: connect_db(): here we go
Mar 1 23:59:50 rave ser[1806]: connect_db(): we are connected /tmp/debug.1806.out
Mar 2 00:00:50 rave ser[1807]: begin_transaction(): BEGIN error server closed the connection unexpectedly ^IThis probably means the server terminated abnormally ^Ibefore or while processing the request.
-----------------cut--------------
The current processes that are running are:
[root@rave sip_router]# ps -ax | grep ser
30060 ? S 0:00 /bin/sh bin/safe_mysqld --user=mysql
1803 ? S 0:00 ser -f /usr/local/etc/ser/serpost.cfg
1804 ? S 0:00 ser -f /usr/local/etc/ser/serpost.cfg
1805 ? S 0:00 ser -f /usr/local/etc/ser/serpost.cfg
1806 ? S 0:00 ser -f /usr/local/etc/ser/serpost.cfg
1807 ? S 0:00 ser -f /usr/local/etc/ser/serpost.cfg
1808 ? S 0:00 ser -f /usr/local/etc/ser/serpost.cfg
-----------------cut------------------
Here is the top of my ser.cfg file:
----------------
debug=2 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
listen=216.87.144.203
port=5060
children=2
fifo="/tmp/ser_fifo"
alias="augustvoice.net"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/postgres.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/exec.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
modparam("usrloc","db_mode",2)
modparam("usrloc","db_url",
"sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME")
modparam("tm","retr_timer1p1", 2) # increase retry timeout
modparam("tm","retr_timer1p2", 3) # increase retry timeout
modparam("tm","retr_timer1p3", 6) # increase retry timeout
modparam("acc", "log_level", 1)
modparam("acc", "acc_flag", 1 )
modparam("acc", "report_ack", 0 )
modparam("auth","db_url",
"sql://USER:PASSWORD@humpty.august.net:5432/THEDBNAME")
#
# this is the main routing block for augustvoice.net
# this block can handle any routing request, local or foreign
#
route
{
#
...
---------------------------
A couple of questions:
1) I state 'children=2', but I see 6 'processes'. I think linux does
threads with processes, so am I seeing 2 'processes' with 3 threads per
process???
2) the debug output has the process ID and the action being
performed. Either it is way out of order, or the postgres
db driver is being asked to do things out of order.
3) Why is there all of the db_init(), db_close() stuff?? All of this
stuff happens in the first second on startup. Surely that many opens
and closes aren't really needed are they?
4) select statements seem to happen in one thread, and insert/delete statements
seem to happen in another thread. What is that about?
---greg
Greg Fausak
Hi,
Context: I am currently writing a module that allows me to connect to a
policy server -- not unlike CPL. It essentially routes the message out to
the server and then receives a response. I get the message out ok, and will
receive a complete sip message back. The module main function is called in
the ser.cfg.
Here are my questions:
1) how do I get a message that I have received -- say in char *msg_buf -- to
be the message that is used for further routing? The policy server might
have changed any header fields or even created a (or several) completely new
message(s).
2) can the module send back intermediate messages, such as 1xx info, while
it is still continuing its work? This is to provide the user with feedback
should things take while ...
3) I also want the module to react to SIP response messages (4xx and so). I
assumed providing a response_function would do this, but apparently not (I
had a simple one which was just LOGging some text to the system log, but it
never did create any entries). So how can I do this?
thanks,
Stephan
--
Dr Stephan Reiff-Marganiec
Research Fellow
Department of Computing Science; University of Stirling
email: srm(a)cs.stir.ac.uk tel: 01786 46 7448
--
The University of Stirling is a university established in Scotland by
charter at Stirling, FK9 4LA. Privileged/Confidential Information may
be contained in this message. If you are not the addressee indicated
in this message (or responsible for delivery of the message to such
person), you may not disclose, copy or deliver this message to anyone
and any action taken or omitted to be taken in reliance on it, is
prohibited and may be unlawful. In such case, you should destroy this
message and kindly notify the sender by reply email. Please advise
immediately if you or your employer do not consent to Internet email
for messages of this kind. Opinions, conclusions and other
information in this message that do not relate to the official
business of the University of Stirling shall be understood as neither
given nor endorsed by it.