javaservletssip-servletmobicents-sip-servlets

Sip Servlet application not started


I developed a converged (web and SIP) application. I'm using mss-3.0.564-apache-tomcat-7.0.50.

sip.xml:

<?xml version="1.0" encoding="UTF-8"?>

<sip-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://www.jcp.org/xml/ns/sipservlet"
        xsi:schemaLocation="http://www.jcp.org/xml/ns/sipservlet http://www.jcp.org/xml/ns/sipservlet/sip-app_1_1.xsd">
    <app-name>com.mydomain.myapp</app-name>

    <servlet-selection>
        <main-servlet>MySipServlet</main-servlet>
    </servlet-selection>

    <servlet>
        <servlet-name>MySipServlet</servlet-name>
        <servlet-class>com.mydomain.myapp.sip.MySipServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>      
</sip-app>

mobicents-dar.properties:

ALL: ("com.mydomain.myapp", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0")

The web application started correctly, but SIP part doesn't seem so - MySipServlet.init method does not get executed.

On any SIP request I get the following error

org.mobicents.servlet.sip.core.DispatcherException: the Request-URI does not point to another domain, and there is no Route header,the container should not send the request as it will cause a loop. Instead, the container must reject the request with 404 Not Found final response with no Retry-After header. You may want to check your dar configuration file to see if the request can be handled or make sure you use the correct Application Router jar.
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchOutsideContainer(InitialRequestDispatcher.java:488)

The console log contains

2014-12-18 11:09:03,758 DEBUG [SipApplicationDispatcherImpl] (SIP-TCP-Core-PipelineThreadpool-0) Routing State INITIAL
2014-12-18 11:09:03,759 DEBUG [InitialRequestDispatcher] (SIP-TCP-Core-PipelineThreadpool-0) Routing of Initial Request REGISTER sip:localhost SIP/2.0
2014-12-18 11:09:03,759 DEBUG [InitialRequestDispatcher] (SIP-TCP-Core-PipelineThreadpool-0) popped route : null
2014-12-18 11:09:03,760 DEBUG [DefaultApplicationRouter] (SIP-TCP-Core-PipelineThreadpool-0) org.mobicents.servlet.sip.router.DefaultApplicationRouter@43350e24 checking for next application for request REGISTER sip:localhost SIP/2.0
...
 , region=null , directive=NEW, targetedRequestInfo=null, stateinfo=null with following dar {ALL=("com.mydomain.myapp", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0")}
2014-12-18 11:09:03,760 DEBUG [DefaultApplicationRouter] (SIP-TCP-Core-PipelineThreadpool-0) Route Modifier : NO_ROUTE
2014-12-18 11:09:03,760 DEBUG [DefaultApplicationRouter] (SIP-TCP-Core-PipelineThreadpool-0) Previous App Name : com.mydomain.myapp
2014-12-18 11:09:03,760 DEBUG [DefaultApplicationRouter] (SIP-TCP-Core-PipelineThreadpool-0) Previous App Route Region : ORIGINATING
2014-12-18 11:09:03,760 DEBUG [DefaultApplicationRouter] (SIP-TCP-Core-PipelineThreadpool-0) Current App Name : com.mydomain.myapp
2014-12-18 11:09:03,760 DEBUG [DefaultApplicationRouter] (SIP-TCP-Core-PipelineThreadpool-0) Current App Route Region : ORIGINATING
2014-12-18 11:09:03,760 DEBUG [InitialRequestDispatcher] (SIP-TCP-Core-PipelineThreadpool-0) the AR returned the following sip route modifiernull
2014-12-18 11:09:03,760 INFO  [InitialRequestDispatcher] (SIP-TCP-Core-PipelineThreadpool-0) Dispatching the request event outside the container

I'm running the server from Eclipse. If I run it from the console everything is fine.

What could be the possible causes of this?


Solution

  • It seems that the SIP part of a converged application does not get started if a <Context> tag is defined for it in server.xml. By simply removing that solves the issues. The problem is that every time that the web application gets deployed by Eclipse, that tag gets added again.

    I also filled in a bug report with Mobicents.