NGN Stack来电显示/详细信息问题

时间:2014-07-11 13:06:31

标签: java android voip

我正在使用Android中的Ngn Stack库开发一个VOIP应用程序。我收到来电号码的问题,因为我在下面的两个陈述中都显示了我自己的号码,而不是来电号码。

sipMessage.getSipHeaderValue("f")

sipMessage.getSipHeaderValue("t")

sip:4256380@122.162.166.144:52978

---->which receiver id,not caller id.

波纹管代码snipet是NgnAVSession.java class

的一部分
public static NgnAVSession takeIncomingSession(NgnSipStack sipStack, CallSession session, twrap_media_type_t mediaType, SipMessage sipMessage){
       **Log.e("99", "Inside NgnAVSession sip message ="+sipMessage.getSipHeaderValue("f"));**

        NgnMediaType media = NgnMediaType.ConvertFromNative(mediaType);
        if(media == NgnMediaType.None){
            Log.e(TAG, "Invalid media type");
            return null;
        }
        synchronized (sSessions){
            NgnAVSession avSession = new NgnAVSession(sipStack, session, media, InviteState.INCOMING);
            if (sipMessage != null){
                avSession.setRemotePartyUri(sipMessage.getSipHeaderValue("f"));
            //     avSession.setRemotePartyUri("sip:tushar@67.205.89.133");
            }
            sSessions.put(avSession.getId(), avSession);
            return avSession;
        }
    }

请任何人帮助我如何解决此问题并获得正确的来电显示/详细信息。 在此先感谢。

2 个答案:

答案 0 :(得分:2)

NgnContact类返回INgnContactService对象以获取远程方的名称。但是如果主叫号码保存在您的联系人列表中,则它会提供给您

答案 1 :(得分:0)

我没有找到任何解决方案,最后我做了一个网络服务来获取来电者的姓名。