Send Users mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://openser.org/cgi-bin/mailman/listinfo/users
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Users digest..."
Today's Topics:
1. No /var/run/openser.pid file found (Padmaja RV)
2. Re: Call Hunting: use Avpop or LCR module ?
(Daniel-Constantin Mierla)
3. Re: Call Hunting: use Avpop or LCR module ?
(Daniel-Constantin Mierla)
----------------------------------------------------------------------
Message: 1
Date: Thu, 1 Jun 2006 15:34:14 +0530
From: "Padmaja RV" <[EMAIL PROTECTED]>
Subject: [Users] No /var/run/openser.pid file found
To: "Jayesh Nambiar" <[EMAIL PROTECTED]>
Cc: [email protected]
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset="iso-8859-1"
Hi,
I have openser working now. i have installed it from src yesterday
after manually deleting all the files installed from binaries. i have
added database support and now it is working fine with authentication. i
have tried openserctl start and stop and the first time they worked fine.
but now if i type openserctl start, it either tells me no
/var/run/openser.pid file found or it shows starting openser and then the
cursor keeps blinking but i dont see the pid number of openser. but
registrations keep happening . pls let me know what to do..
Thanks a lot for all the help.
Regards,
Padmaja
----- Original Message -----
From: Jayesh Nambiar
To: Padmaja RV
Sent: Thursday, June 01, 2006 1:29 PM
Subject: Re: [Users] Re: how to run openser through monit daemon?
Hi,
Sorry, but I never tried installing it from binaries. So i have no idea
about whether installing it from src will overwrite or not. But I guess,
it should overwrite. But not very sure.
Another long way to delete is only locating the openser files and
removing it mannually.
w/regards,
Jayesh
Padmaja RV <[EMAIL PROTECTED]> wrote:
Hi Jayesh,
I think you were mentioning about openser-1.0.1_src.tar.gz (that is
from src directory of openser download) and i installed from bin directory
of openser download area. The bin's tar ball is
openser-1.0.1_linux_i386.tar.gz. and when that is installed, it does not
show any openser-1.0.1 directory. it automatically loads various modules
at their respective places and there is no Makefile i could see in it to
edit it for mysql support. I have now openser from src. it is exactly as u
mentioned.... this i have downloaded and installed as a user and not as
root just to verify the directory structure of openser. i guess it is the
right way to do and now i want to install it as root. should i delete the
previous openser installations in that path and then install or when i
install the src, it will automatically overwrite the existing onces? i am
asking this because as root if i delete them it might damage the file
system. again thanks so much....pls help me out!
Thanks and Regards,
Padmaja
----- Original Message -----
From: Jayesh Nambiar
To: [email protected]
Cc: [EMAIL PROTECTED]
Sent: Wednesday, May 31, 2006 3:42 PM
Subject: [Users] Re: how to run openser through monit daemon?
Hi padmaja,
I guess there should have been a standalone directory called
openser1.0.1 after you untar the .tar.gz file using tar -xzvf. In that
directory itself there is file called Makefile in which the mysql module
is excluded by default.
Did you also check the logs in /var/log/messages about what is the
error. Those messages are helpful to debug.
You dont always need to go to sbin to start openser, there is a
command called openserctl start to start it.
I have a suggestion for you. Please visit onsip.org and register on
that site. They have very good getting started documents which will help
you.
You can then structure your openser.cfg the way you want.
w/regards,
Jayesh.
Hi Jayesh,
Thank you so much for the reply. I have downloaded the version
openser-1.0.1 from cvs. I thought that is a stable release and no changes
are going to be made to it. Do i have to again revert to the tar.gx
version? Also please look at what happened when i previously installed the
.tar.gz version of openser before doing the cvs
1. downloaded openser-1.0.1-linux_i386.tar.gz version as root.
2. It is now under / (the root directory). after that i did unzip
and untar on that.
3. the file and modules are loaded into the subdirectories of the
/usr directory.I could not anywhere find a standalone directory called
openser-1.0.1 with the directory sip-server in it. also there is no
makefile here.... (All these i see when i download it thru CVS in the
/usr/local/src directory.)
4. I tried to see through the list for the module mysql.so but i
could not find it....and so for uri_db module also. these modules are
present when i install openser thru cvs
5. i did not do any make on it. I thought it is precompiled version
and will automatically get installed when i do the untar and unzip. please
correct me if the tar version also has to go thru make
6. i ran openser through /usr/local/sbin/openser start. and it ran
successfully... it showd the tcp and udp ports on which it is running..i
could register my sip UA without authentication.
7. then i wanted to set it up for mysql support. i edited the
config file and uncommented the necessary modules and tried to create the
openser databse in mysql. here it failed stating ha1 calculation failed..
also it states there is no mysql.so module which is true.
Please let me know if I have made any mistakes in the installation
process.... I am new to openser.. now if i want to revert to .tar.gz
version, will all the openser modules and config files from the cvs be
replaced by the tar.gz version? or will there be duplicate entries left?
Thanks again
Regards,
Padmaja
----- Original Message -----
From: Jayesh Nambiar
To: [email protected]
Cc: [EMAIL PROTECTED]
Sent: Wednesday, May 31, 2006 12:08 PM
Subject: [Users] Re: how to run openser through monit daemon?
Hi padmaja,
Running openser from cvs would not solve your problem. Openser from
cvs is the development version which will be released after final testing
is done.
To be safe, its better if you use .tar.gz file to install. For
enabling mysql, go to the openser directory and you'll find a makefile. In
the makefile there is a line exclude_modules?= somewhere around line
no.49. From there just remove mysql and recompile it again.
You can start openser using openserctl start from the command line.
To check for some errors you can set debug=9 in the openser.cfg
file.
Normally the logs are stored into /var/log/messages. You can check
for errors in this file.
Hi!
there is something I need to mention here with respect to openser
not
working.....
Initially I had openser installed from .tar.gz and i could run it
from
/usr/local/sbin/openser. It worked fine that way without any
authentication.
I could see local registration of my sip UAs with the openser being
successful. then i set up mysql. It too started successfulyy thru
webmin.
next I tried to create the openser database in mysql from
/usr/sbin/openser_mysql.sh create. It prompted me for the root
password of
mysql, the domain name and then failed stating that the Ha1
calculation
failed. also when i tried to modify the openser.cfg file to support
mysql
database i found that there is no mysql.so module in the
/usr/local/lib/openser/modules/ path.
Because of the above problems, I tried installing openser from CVS
and here
all the modules and configuration files are present in the
respective
locations as mentioned in the web link for installing openser. I
could even
create the openser database structures in mysql. i tried
uncommenting the
needed modules for database suppport. now when i try to run openser
thru
monit, there is absolutely no response and openser does not look
like
running............
I am a newbie at openser......please help me which way i should run
openser.....
thanks and regards,
Padmaja
--------------------------------------------------------------------------
Yahoo! India Answers: Share what you know. Learn something new Click
here
Send free SMS to your Friends on Mobile from your Yahoo! Messenger
Download now
------------------------------------------------------------------------------
Yahoo! India Answers: Share what you know. Learn something new Click here
Send free SMS to your Friends on Mobile from your Yahoo! Messenger
Download now
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://openser.org/pipermail/users/attachments/20060601/e110ed3c/attachment.htm
------------------------------
Message: 2
Date: Thu, 01 Jun 2006 13:20:28 +0300
From: Daniel-Constantin Mierla <[EMAIL PROTECTED]>
Subject: Re: [Users] Call Hunting: use Avpop or LCR module ?
To: Alexandre Snarskii <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED], "[email protected]" <[email protected]>
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
On 06/01/06 12:53, Alexandre Snarskii wrote:
On Wed, May 31, 2006 at 12:04:41AM +0300, Daniel-Constantin Mierla wrote:
Hello,
On 05/30/06 19:47, Rafael J. Risco G.V. wrote:
hi
I would like to read some opinions to know which method its better to
implement Call Hunting, using serial forking with 'avpops' or 'lcr'
module 'load_contacts()/next_contact()' functions, does someone has an
example of any of these methods?
if it is a global scope you can use any of them, Which is better?
Depends on your environment and how you organize your data.
If is per user, then avpops is more suitable. An example of using avpops
you can find at:
http://www.voice-system.ro/docs/avpops/ar01s08.html#ex_serial_forking
It is suitable, but for some scenarios it require much more complicated
config, which is not easy to understand.
Scenario:
User A (PSTN side) calls user B (SIP). With avpops we select some numbers
for this user, trying original number (returns 486/BUSY), hunting to next
number (creating new transaction on router).
it does not create a new transaction, just adds a new branch to it.
Phone B2 starts with
100/Trying 180/Ringing, then user A hangs.
CANCEL message first visits original number, which returns
481/Call leg/transaction does not exists [1],
you mean that sends CANCEL to B1? I do not think so, CANCEL is not sent
to completed branches, just to ones that haven't received a final
response.
then hunts to second
number and successfully cancel's call. But, at point [1], first
transaction
_does not store_ new reply code (modules/tm/t_reply.c, line 762 just logs
message
LOG(L_ERR, "ERROR: t_should_relay_response: status rewrite by
UAS: "
"stored: %d, received: %d\n",
Trans->uac[branch].last_received, new_code );
goto discard;
), and again hunts, so, third number of user B starts ringing...
What version of openser do you use?
The only solution for this which I found yet is:
#The only way to really check return code is to check it in
onreply_route,
#then set flag which will permit failure_route to hunt this call again.
#You can't check status with t_check_status within failure_route,
#because t_check_status in failure_route returns the lowest value
#of all branches..
onreply_route[1] {
if(status=~"40[48]" || status=~"486") {
#not-so-fatal response, should hunt
setflag(2);
};
}
failure_route[1] {
if(isflagset(2)) {
resetflag(2);
if(avp_pushto("$ruri","$serial_fork")) {
#and then everytingh should work as in example.
You can use t_was_cancelled() in failure route:
http://openser.org/docs/modules/1.1.x/tm.html#AEN479 . It will ensure
that you get the proper status of canceled transactions.
But, this config is not yet complete - with this configuration
CANCEL's does not hunt after 481 Call leg does not exists, so,
in situation when we need to cancel call on second or third number,
we're not able to do that :(
Just adding another code (481) to our list of not-so-fatal response
does nothing but returns us to initial problem, and the only
solution found is to complicate configuration again to:
#main post-routing code
route[1] {
if(method=="CANCEL") {
t_on_reply("2");
} else {
t_on_reply("1");
};
t_on_failure("1");
t_relay();
};
onreply_route[1] { #onreply for everyting but CANCEL
if(status=~"40[48]" || status=~"486") {
#not-so-fatal response, should hunt
setflag(2);
};
}
onreply_route[2] { #onreply for CANCEL's
if(status=~"481") {
#not-so-fatal response, should hunt
setflag(2);
};
}
failure_route[1] {
if(isflagset(2)) {
resetflag(2);
if(avp_pushto("$ruri","$serial_fork")) {
Please note, that config is in pre-production stage, tested, but
without really massive tests. Also, note that this is not complete
config, just parts to allow serial hunting without noted problem.
If anyone knows more elegant solution for my problem - please, let
me know. Also, if anyone can see a problem with my config - let me
know how to test it...
Could you try the latest version of OpenSER CVS, it is now in
frozen/testing phase, just to be release in a few weeks. Any feedback
will help to fix eventual issues. The part with reply code selections
and CANCEL processing was refurbished and should have fixed some old
issues.
Cheers,
Daniel
PS: another problem may arise with maximal number of branches.
With default configuration of ser (config.h, #define MAX_BRANCHES 12)
maximum number of hunts is limited to 11. If you need more hunts than
this - you need to recompile ser.
------------------------------
Message: 3
Date: Thu, 01 Jun 2006 14:38:06 +0300
From: Daniel-Constantin Mierla <[EMAIL PROTECTED]>
Subject: Re: [Users] Call Hunting: use Avpop or LCR module ?
To: Alexandre Snarskii <[EMAIL PROTECTED]>
Cc: "[email protected]" <[email protected]>
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
On 06/01/06 14:32, Alexandre Snarskii wrote:
On Thu, Jun 01, 2006 at 01:20:28PM +0300, Daniel-Constantin Mierla wrote:
On 06/01/06 12:53, Alexandre Snarskii wrote:
On Wed, May 31, 2006 at 12:04:41AM +0300, Daniel-Constantin Mierla
wrote:
Hello,
On 05/30/06 19:47, Rafael J. Risco G.V. wrote:
hi
I would like to read some opinions to know which method its better to
implement Call Hunting, using serial forking with 'avpops' or 'lcr'
module 'load_contacts()/next_contact()' functions, does someone has
an
example of any of these methods?
if it is a global scope you can use any of them, Which is better?
Depends on your environment and how you organize your data.
If is per user, then avpops is more suitable. An example of using
avpops
you can find at:
http://www.voice-system.ro/docs/avpops/ar01s08.html#ex_serial_forking
It is suitable, but for some scenarios it require much more complicated
config, which is not easy to understand.
Scenario:
User A (PSTN side) calls user B (SIP). With avpops we select some
numbers
for this user, trying original number (returns 486/BUSY), hunting to
next
number (creating new transaction on router).
it does not create a new transaction, just adds a new branch to it.
Phone B2 starts with
100/Trying 180/Ringing, then user A hangs.
CANCEL message first visits original number, which returns
481/Call leg/transaction does not exists [1],
you mean that sends CANCEL to B1? I do not think so, CANCEL is not sent
to completed branches, just to ones that haven't received a final
response.
then hunts to second
number and successfully cancel's call. But, at point [1], first
transaction
_does not store_ new reply code (modules/tm/t_reply.c, line 762 just
logs
message
LOG(L_ERR, "ERROR: t_should_relay_response: status rewrite by
UAS:
"
"stored: %d, received: %d\n",
Trans->uac[branch].last_received, new_code );
goto discard;
), and again hunts, so, third number of user B starts ringing...
What version of openser do you use?
ser 0.9.6, freebsd 6.1, database backend is postgresql.
Did not tried that setup with openser yet.
Initial question was in ser-users mailing list..
it seems that was doubled posted, I answered to [email protected] and
overlooked that is for serusers, too.
Cheers,
Daniel
The only solution for this which I found yet is:
#The only way to really check return code is to check it in
onreply_route,
#then set flag which will permit failure_route to hunt this call again.
#You can't check status with t_check_status within failure_route,
#because t_check_status in failure_route returns the lowest value
#of all branches..
onreply_route[1] {
if(status=~"40[48]" || status=~"486") {
#not-so-fatal response, should hunt
setflag(2);
};
}
failure_route[1] {
if(isflagset(2)) {
resetflag(2);
if(avp_pushto("$ruri","$serial_fork")) {
#and then everytingh should work as in example.
You can use t_was_cancelled() in failure route:
http://openser.org/docs/modules/1.1.x/tm.html#AEN479 . It will ensure
that you get the proper status of canceled transactions.
But, this config is not yet complete - with this configuration
CANCEL's does not hunt after 481 Call leg does not exists, so,
in situation when we need to cancel call on second or third number,
we're not able to do that :(
Just adding another code (481) to our list of not-so-fatal response
does nothing but returns us to initial problem, and the only
solution found is to complicate configuration again to:
#main post-routing code
route[1] {
if(method=="CANCEL") {
t_on_reply("2");
} else {
t_on_reply("1");
};
t_on_failure("1");
t_relay();
};
onreply_route[1] { #onreply for everyting but CANCEL
if(status=~"40[48]" || status=~"486") {
#not-so-fatal response, should hunt
setflag(2);
};
}
onreply_route[2] { #onreply for CANCEL's
if(status=~"481") {
#not-so-fatal response, should hunt
setflag(2);
};
}
failure_route[1] {
if(isflagset(2)) {
resetflag(2);
if(avp_pushto("$ruri","$serial_fork")) {
Please note, that config is in pre-production stage, tested, but
without really massive tests. Also, note that this is not complete
config, just parts to allow serial hunting without noted problem.
If anyone knows more elegant solution for my problem - please, let
me know. Also, if anyone can see a problem with my config - let me
know how to test it...
Could you try the latest version of OpenSER CVS, it is now in
frozen/testing phase, just to be release in a few weeks. Any feedback
will help to fix eventual issues. The part with reply code selections
and CANCEL processing was refurbished and should have fixed some old
issues.
Cheers,
Daniel
PS: another problem may arise with maximal number of branches.
With default configuration of ser (config.h, #define MAX_BRANCHES 12)
maximum number of hunts is limited to 11. If you need more hunts than
this - you need to recompile ser.
------------------------------
_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users
End of Users Digest, Vol 13, Issue 4
************************************