Hi,
I've installed my Openser with Wesip Application Server. I've
installed Wesip with Click2dial application from Wesip web site. The
application is running, but when I try to call to a softphone sip
address trough my browser I get an error code -2. In Wesip logs I get
the following:
CommonsLoggingOutput [HttpProcessor[7080][4]] - Exec:
Click2Call.c2cDWR()
CommonsLoggingOutput [HttpProcessor[7080][4]] - --Object created,
not stored. id=0
MapFactory [HttpProcessor[7080][4]] - Unable to create class
java.util.Hashtable returning HashTable instead
StandardSipSession [HttpProcessor[7080][4]] - Transport: udp
SipRequest [HttpProcessor[7080][4]] - ERROR sending message
javax.sip.TransactionUnavailableException: no route!
at
com.voztele.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:264)
at com.voztele.sipservlet.core.SipRequest.send(SipRequest.java:196)
at com.voztele.wesip.apps.click2call.C2C.c2c(C2C.java:134)
at com.voztele.wesip.apps.click2call.C2C.c2cDWR(C2C.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
at
org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at
org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
at
org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
at
org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
at
org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
at
org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:206)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:946)
at
com.voztele.sipservlet.valves.ConvergedContextValve.invokeHTTP(ConvergedContextValve.java:144)
at
com.voztele.sipservlet.valves.ConvergedContextValve.invoke(ConvergedContextValve.java:64)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:946)
at
org.apache.catalina.core.StandardHttpContext.invoke(StandardHttpContext.java:2377)
at
com.voztele.sipservlet.core.ConvergedContext.invoke(ConvergedContext.java:98)
at
com.voztele.sipservlet.valves.ConvergedHostValve.invokeHTTP(ConvergedHostValve.java:336)
at
com.voztele.sipservlet.valves.ConvergedHostValve.invoke(ConvergedHostValve.java:98)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:124)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:946)
at
com.voztele.sipservlet.valves.ConvergedEngineValve.invoke(ConvergedEngineValve.java:98)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:946)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:994)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1105)
at java.lang.Thread.run(Thread.java:619)
java.lang.RuntimeException: javax.sip.TransactionUnavailableException:
no route!
at com.voztele.sipservlet.core.SipRequest.send(SipRequest.java:222)
at com.voztele.wesip.apps.click2call.C2C.c2c(C2C.java:134)
at com.voztele.wesip.apps.click2call.C2C.c2cDWR(C2C.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
at
org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at
org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
at
org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
at
org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
at
org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
at
org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:206)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:946)
at
com.voztele.sipservlet.valves.ConvergedContextValve.invokeHTTP(ConvergedContextValve.java:144)
at
com.voztele.sipservlet.valves.ConvergedContextValve.invoke(ConvergedContextValve.java:64)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:946)
at
org.apache.catalina.core.StandardHttpContext.invoke(StandardHttpContext.java:2377)
at
com.voztele.sipservlet.core.ConvergedContext.invoke(ConvergedContext.java:98)
at
com.voztele.sipservlet.valves.ConvergedHostValve.invokeHTTP(ConvergedHostValve.java:336)
at
com.voztele.sipservlet.valves.ConvergedHostValve.invoke(ConvergedHostValve.java:98)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:124)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:946)
at
com.voztele.sipservlet.valves.ConvergedEngineValve.invoke(ConvergedEngineValve.java:98)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:946)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:994)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1105)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.sip.TransactionUnavailableException: no route!
at
com.voztele.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:264)
at com.voztele.sipservlet.core.SipRequest.send(SipRequest.java:196)
... 44 more
My configuration is:
- openser.cfg
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
listen=MY_IP_ADDRESS
mpath="/lib/openser/modules"
loadmodule "mi_fifo.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "seas.so"
modparam("mi_fifo","fifo_name", "/tmp/openser_fifo")
modparam("usrloc", "db_mode", 0)
modparam("rr", "enable_full_lr", 1)
modparam("seas", "listen_sockets", "MY_IP_ADDRESS:5080")
route{
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;
};
if (!method=="REGISTER")
record_route();
if (loose_route()) {
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
if (uri==myself) {
if (method=="REGISTER") {
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
route[1] {
if(!as_relay_t("wesip")){
t_reply("500","Application Server error");
}
}
- server.xml
<Server port="5005" shutdown="SHUTDOWN" debug="0">
<Service name="WeSIP-Standalone">
<Connector
className="org.apache.catalina.connector.http.HttpConnector"
port="7080" minProcessors="5"
maxProcessors="75"
enableLookups="true" acceptCount="10"
debug="0" />
<Connector
className="com.voztele.sipservlet.connector.SipConnector"
minProcessors="5" maxProcessors="75"
enableLookups="true" acceptCount="10"
debug="0"
addresses="217.172.74.8:5060"
pathName="com.voztele" protocol="udp" >
<ExtraProperties>
<Property
key="com.voztele.javax.sip.SER_ADDRESS" value="MY_IP_ADDRESS" />
<Property
key="com.voztele.javax.sip.SER_PORT" value="5080" />
<Property
key="com.voztele.STATISTICS" value="false" />
<Property
key="javax.sip.STACK_NAME" value="wesip" />
<Property
key="javax.sip.THREAD_POOL_SIZE" value="100" />
<Property
key="com.voztele.javax.sip.THREAD_POOL_SIZE" value="100" />
<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="0" />
</ExtraProperties>
</Connector>
<Engine name="Standalone" defaultHost="217.172.74.8"
debug="0"
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="MY_IP_ADDRESS"
nameSip="MY_IP_ADDRESS_5060" debug="0" appBase="wesipapps"
unpackWARs="true" autoDeploy="true"
className="com.voztele.sipservlet.core.ConvergedHost">
<!-- <Host name="217.172.74.8"
nameSip="217.172.74.8_5060" debug="10" appBase="webapps"
unpackWARs="true"
port="5060" autoDeploy="true"
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"/>
<!--
<DefaultContext useNaming="true"
reloadable="true">
<Resource name="pool"
auth="WeSIP" type="javax.sql.DataSource"/>
<ResourceParams name="pool">
<parameter>
<name>username</name>
<value>[USERNAME_DATABASE]</value>
</parameter>
<parameter>
<name>password</name>
<value>[PASSWORD_DATABASE]</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>[DRIVER_CLASSNAME]</value>
</parameter>
<parameter>
<name>url</name>
<value>[URL]</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>1</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
</DefaultContext>
-->
</Host>
</Engine>
</Service>
</Server>
Thanks in advance,
Sergi