Sip Servlet应用程序未启动

时间:2014-12-18 09:47:51

标签: java servlets sip-servlet mobicents-sip-servlets

我开发了一个融合(Web和SIP)应用程序。我正在使用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")

Web应用程序正常启动,但SIP部分似乎不是这样 - MySipServlet.init方法无法执行。

在任何SIP请求中,我收到以下错误

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)

控制台日志包含

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

我正在从Eclipse运行服务器。如果我从控制台运行它一切都很好。

可能的原因是什么?

1 个答案:

答案 0 :(得分:3)

如果在<Context>中为其定义server.xml标记,则融合应用程序的SIP部分似乎无法启动。只需删除即可解决问题。问题是,每次Eclipse部署Web应用程序时,该标记都会再次添加。

我还用Mobicents填写了bug report