1

RestComm SipServlet を使用して IMS アプリケーション サーバーを開発しようとしています。最初の私の目的は、特別なことを何もせずに、コール フローに AS を挿入することだけです。 ここに画像の説明を入力

アプリケーション サーバーは、最初の招待を doStuff して転送するだけです。問題は、RestComm による sip スタックがルートを Invite から削除せず、それをルート ヘッダーに追加しないため、招待が AS にルーティングされて再びループが発生することです。SipRequest を編集してルート ヘッダーを削除しようとすると、システム ヘッダーを変更できないため、AS は 500 で応答します。

ここにコードのスニペットがあります

    @Override
protected final void doInvite(SipServletRequest request)
        throws ServletException, IOException {

    //DO STUFF
    System.out.println("RECEIVED AN INVITE");

    //      These lines generate a 500
    //      request.removeHeader("route");
    //      request.removeHeader("route");

    ProxyImpl p = (ProxyImpl) request.getProxy(true);
    p.setRecordRoute(false);
    p.setSupervised(true);
    p.setParallel(true);
    p.proxyTo(request.getRequestURI());
    p.startProxy();

}

私は夢中になっています:/誰かが私にいくつかの提案をしてくれることを願っています...

4

3 に答える 3

0

私もSipサーブレットは初めてですが、ドキュメントを読んでいるときに、次の情報に遭遇しました。

「次の文字列のいずれかで構成されるルート修飾子: ROUTE、ROUTE_BACK、または NO_ROUTE。ルート修飾子は、ルート情報と組み合わせて使用​​され、リクエストを外部にルーティングします。」mobicents-dar.properties に関連します。

多分それは役立ちます。

于 2017-10-09T12:37:06.833 に答える