Hi,
I have created ser database for run ser. but I got follows error:
0(8054) init_tcp: using epoll_lt as the io watch method (auto detected)
0(8054) Maxfwd module- initializing
0(8054) submit_query: Table 'ser.global_attrs' doesn't exist
0(8054) db_query: Error while submitting query
0(8054) gflags:load_attrs: Error while quering database
0(8054) init_mod(): Error while initializing module gflags
ERROR: error while initializing modules
Can someone tell me where talk about which table i have to create in
database ser. I can't find it.
Many thanks for response!
Tuan.
Hi,
I was wondering if there's any mechanism in WeSIP for redundancy and
failover. Assuming that I've one application server holding SIP dialog
states, how could I add high availability to it?
There's some sort of session replication in Tomcat [1], so is this
somehow used by WeSIP? Are there any other best practices to redundantly
set up WeSIP?
Andreas
[1] http://www.onjava.com/pub/a/onjava/2004/11/24/replication1.html
This e-mail is confidential and may well also be legally privileged. If you have received it in error, you are on notice of its status. Please notify us immediately by reply e-mail and then delete this message from your system. Please do not copy it or use it for any purposes, or disclose its contents to any other person: to do so could be a breach of confidence. Thank you for your cooperation.
Information pursuant to paragraph 14 Austrian Companies Code: UPC Austria GmbH; Registered Office: Wolfganggasse 58-60, 1120 Vienna Company Register Number: FN 189858d at the Commercial Court of Vienna
Dear all,
I have the following issue:
I would like my calls coming to openSER with URI
40XXXXXXX(a)abc.com to be forwarded to another SIP
server with IP e.g. 10.10.0.1 with URI
+140XXXXXXX(a)domain.com. Could someone tell me how i
could do it? Thank you very much.
Best regards,
K.N.
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
I cannot seem to get my usr_preferences to load using the following
load statement.
avp_db_load("$avp(s:caller_username)", "*");
I have verified with xlog and avp_print() that $avp(s:caller_username)
does contain a valid value before calling avp_db_load, however nothing
is returned.
It will work if I use this:
avp_db_load("$fu/username", "*");
I really need to make it work via $avp(s:caller_username) if possible
because my call forwarding and custom call routing features change
this value often.
Thanks,
- Daryl
Hi everyone,
+ I have problem with mysql when run ser:
WARNING: no fork mode and more than one listen address found (will use only
the the first one)
0(12395) init_tcp: using epoll_lt as the io watch method (auto detected)
0(12395) Maxfwd module- initializing
0(12395) new_connection: Access denied for user 'root'@'localhost' (using
password: YES)
0(12395) gflags:mod_init: Error while connecting database
0(12395) init_mod(): Error while initializing module gflags
ERROR: error while initializing modules
in shell, when i run mysql -u root -pxxxxx, it works. but when run ser as
root, it don't work, i tried to fix this problem 2 days but can't. can
someone help me and tell me where is problem.
+ second question: in serusers archive don't have search box, when I want to
search someone has the same problem like me and know how they solve it, i
have to look every threads or we have other way to search efficient, I tried
to search with google group but can't.
thank you very much for your response.
cheers
Tuan.
The software can be downloaded from:
http://download.dns-hosting.info/CDRTool/
Changelog from 5.0.10:
cdrtool (5.1.1) unstable; urgency=low
* Updated sample data for rating tables
* Updated mysql schema
* Fixed bug in csv import script
cdrtool (5.1.0) unstable; urgency=low
* Added historical rating engine, requires changes in database
structure (you must apply changes from setup/mysql/
alter_tables.mysql)
* Must add in global.inc "AccountsDBClass" => "DB_ser" for
each SER data-source, there is no default anymore
* Added function to obfuscate caller Ids, this changes the login
rights
The login accounts rights must be updated in the Accounts page
* Added capability to do accounting for SIP URIs (e.g. paid helpdesk)
* Improved compatibility with Firefox in media sessions screen
* Added rights for login accounts to show pricing and caller id
* Removed unused NGN rating (billing_customers table has been
modified,
please update your CSV file import tools)
* Modify index of rates tables to accomodate multiple applications
(you must apply changes from setup/mysql/alter_tables.mysql)
* Default application set to 'audio', application field is now
mandatory
when importing rates CSV files
* Use separate name spaces for memcache keys per data source
* Allow quota checks for multiple OpenSER data-sources
* Show memory usage in syslog
* Print sql errors in syslog
Regards,
Adrian Georgescu
Hi,everyone,I am jacky.I use
openser1.1+openseradmin0.3. Now I am troubled with a
problem,and here is the detail:
After I install the openseradmin, I add attribute Tel
to the account_preferences_type,and then I click the
link:Add New Account Preference.
I fill the form like this:
username:admin
domain:voip.net
attribute:Tel
values:12456
Then I click the button:Create, and it redirect to a
error page,whose content is as follows:
ArgumentError in Voip account
preferencesController#create
wrong number of arguments (1 for 2)
RAILS_ROOT:
/usr/local/openseradmin-0.3/script/../config/..
Application Trace | Framework Trace | Full Trace
/usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/base.rb:1700:in
`attribute='
/usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/base.rb:1700:in
`send'
/usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/base.rb:1700:in
`attributes='
/usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/base.rb:1699:in
`each'
/usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/base.rb:1699:in
`attributes='
/usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/base.rb:1532:in
`initialize_without_callbacks'
/usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/callbacks.rb:225:in
`initialize'
#{RAILS_ROOT}/app/controllers/voip_account_preferences_controller.rb:27:in
`new'
#{RAILS_ROOT}/app/controllers/voip_account_preferences_controller.rb:27:in
`create'
Request
Parameters:
{"voip_account_preference"=>{"username"=>"admin",
"domain"=>"voip.net",
"value"=>"12456",
"attribute"=>"Tel"},
"commit"=>"Create"}
I have considerde it for a long time ,but I still
can't solve it, so I hope you can help me to give me
some advice,
Any suggestion will be appreciated.
Best wishes,
Yours,
Jacky
___________________________________________________________
雅虎免费邮箱3.5G容量,20M附件!
http://cn.mail.yahoo.com/
Hi,
fresh install of OpenSER 1.2.0 and wesip-05_03_07-beta-0.1.3.tar.gz.
i'm able to run wesip and successful deploy my app, but when the first
INVITE come into wesip i get:
java.lang.StringIndexOutOfBoundsException: String index out of range: -37
at java.lang.String.checkBounds(String.java:398)
at java.lang.String.<init>(String.java:443)
at
com.voztele.javax.sip.header.ExtensionHeaderImpl.<init>(ExtensionHeaderImpl.java:40)
at
com.voztele.javax.sip.message.SIPMessage.createSIPHeader(SIPMessage.java:243)
at
com.voztele.javax.sip.message.SIPMessage.addSIPHeader(SIPMessage.java:230)
at
com.voztele.javax.sip.message.SIPMessage.<init>(SIPMessage.java:225)
at
com.voztele.javax.sip.message.SIPRequest.<init>(SIPRequest.java:154)
at
com.voztele.javax.sip.parser.StringMsgParser.parseSERMessage(StringMsgParser.java:355)
at
com.voztele.seas.SeasMessageEvent.getSIPMessage(SeasMessageEvent.java:136)
at
com.voztele.seas.SeasTransactionEvent.getSIPMessage(SeasTransactionEvent.java:70)
at
com.voztele.seas.ExpressMessageChannel.run(ExpressMessageChannel.java:301)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "ExpressMChannel[2]" java.lang.NullPointerException
at
com.voztele.seas.SeasMessageEvent.getSIPMessage(SeasMessageEvent.java:143)
at
com.voztele.seas.SeasTransactionEvent.getSIPMessage(SeasTransactionEvent.java:70)
at
com.voztele.seas.ExpressMessageChannel.run(ExpressMessageChannel.java:301)
at java.lang.Thread.run(Thread.java:619)
I'm using JDK/JRE version 6.
With old version of wesip and openser i've no problem.
thanks
:tele
Hi Gines, thanks for your support
> Your servlet named "neo" is being executed and looks like it is
> proxying but what from what I see in the packet it is proxying to
> itself. Could you try to proxy to another address and see if this
> still happens ? Aside, could you send me your configuration files and
> your servlet code ?
The serlvet code is the following
protected void doInvite(SipServletRequest callerInvite) throws ServletException,
IOException {
//Get a proxy for this request
Proxy callerProxy = callerInvite.getProxy();
System.out.println("doInvite within neos servlet: requestURI is " +
callerInvite.getRequestURI() );
callerProxy.proxyTo(callerInvite.getRequestURI());
}
This code causes the "no route" exception. The println above gives :
doInvite within neos servlet: requestURI is sip:5002@192.168.1.11
where 5002 is the called SIP phone and 192.168.1.11 is the address of my OpenSER
+ WeSIP box (i.e. the managed SIP domain)
Following your advice I have tried to change the proxyTo to a different address:
SipURI dest = sipFactory.createSipURI("5002","192.168.1.16");
callerProxy.proxyTo(dest);
It that case, the called phone (5002, IP address 192.168.1.16) gets the INVITE
correctly. However, something puzzles me here: the serlvet is not supposed to
know the IP address of the called phone. In my understanding, the AS processes
the INVITE, then it must send it back to the proxy server which is supposed to
forward it to the next hop, is that right ?
Could you please give me an example of a doInvite which basically does nothing
and which lets the INVITE be forwarded to the called party ?
Finally here are my config files:
<<<<<<<<< Server.xml >>>>>>>>>
<Server port="5005" shutdown="SHUTDOWN" debug="1">
<Service name="NEOS-Standalone">
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="7080" minProcessors="5" maxProcessors="5"
enableLookups="true" acceptCount="10" debug="0" />
<Connector className="com.voztele.sipservlet.connector.SipConnector"
minProcessors="5" maxProcessors="5"
enableLookups="true" acceptCount="10" debug="1"
addresses="192.168.1.11:5060" pathName="com.voztele" protocol="udp" >
<ExtraProperties>
<Property key="com.voztele.javax.sip.SER_ADDRESS" value="127.0.0.1" />
<Property key="com.voztele.javax.sip.SER_PORT" value="5080" />
<Property key="com.voztele.STATISTICS" value="false" />
<Property key="javax.sip.STACK_NAME" value="neos_as" />
<Property key="javax.sip.THREAD_POOL_SIZE" value="10" />
<Property key="com.voztele.javax.sip.THREAD_POOL_SIZE" value="10" />
<Property key="com.voztele.javax.sip.SPIRAL_HDR" value="true" />
<Property key="com.voztele.javax.sip.REENTRANT_LISTENER" value="true" />
<Property key="javax.sip.AUTOMATIC_DIALOG_SUPPORT" value="false" />
<Property key="com.voztele.javax.sip.TRACE_LEVEL" value="3" />
</ExtraProperties>
</Connector>
<Engine name="Standalone" defaultHost="localhost" debug="1"
className="com.voztele.sipservlet.core.ConvergedEngine">
<Mapper className="org.apache.catalina.core.StandardEngineMapper"
protocol="HTTP/1.1"/>
<Mapper className="org.apache.catalina.core.StandardEngineMapper"
protocol="HTTP/1.0"/>
<Mapper className="com.voztele.sipservlet.core.EngineSipMapper"
protocol="SIP/2.0"/>
<Logger className="org.apache.catalina.logger.FileLogger" timestamp="true"/>
<Realm className="org.apache.catalina.realm.MemoryRealm" />
<Host name="localhost" nameSip="192.168.1.11_5060" debug="1"
appBase="wesipapps" className="com.voztele.sipservlet.core.ConvergedHost">
<Logger className="org.apache.catalina.logger.FileLogger" timestamp="true"/>
<Mapper className="com.voztele.sipservlet.core.SipHostMapper"
protocol="SIP/2.0"/>
<Mapper className="org.apache.catalina.core.HttpHostMapper"
protocol="HTTP/1.1"/>
<Mapper className="org.apache.catalina.core.HttpHostMapper"
protocol="HTTP/1.0"/>
</Host>
</Engine>
</Service>
</Server>
<<<<<<<<<<openser.cfg>>>>>>>>>>>>>>
#
# $Id: openser.cfg 1827 2007-03-12 15:22:53Z bogdan_iancu $
#
# simple quick-start config script
# Please refer to the Core CookBook at http://www.openser.org/dokuwiki/doku.php
# for a explanation of possible statements, functions and parameters.
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
#log_stderror=no # (cmd line: -E)
children=4
# Uncomment these lines to enter debugging mode
#fork=no
log_stderror=yes
#
listen = tcp:192.168.1.11:5060
listen = udp:192.168.1.11:5060
# ------------------ module loading ----------------------------------
#set module path
mpath="/usr/local/lib/openser/modules/"
# Uncomment this if you want to use SQL database
#loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
# added for WeSIP
loadmodule "seas.so"
modparam("seas","listen_sockets","127.0.0.1:5080")
# end added for WeSIP
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
#loadmodule "auth.so"
#loadmodule "auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- mi_fifo params --
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
# -- usrloc params --
modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
#modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
if (!method=="REGISTER")
record_route(); # ftoutain essai de supprimer ça ? ne change rien
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
};
# 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("openser.org", "subscriber")) {
# www_challenge("openser.org", "0");
# exit;
#};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
route[1] {
if (is_present_hf("X-WeSIP-SPIRAL")) {
if (!t_relay()) {
sl_reply_error();
};
exit;
};
if (! as_relay_t("neos_as") ){
t_reply("500", "NEOS service not found");
};
exit;
}