1

我开发了一个融合(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 运行服务器。如果我从控制台运行它,一切都很好。

这可能是什么原因?

4

1 回答 1

3

如果<Context>server.xml. 通过简单地删除它可以解决问题。问题是每次 Eclipse 部署 Web 应用程序时,都会再次添加该标记。

我还用 Mobicents填写了一份错误报告。

于 2014-12-22T08:55:59.937 回答