我正在使用android中的Ngn Stack库开发VOIP应用程序。在显示以下两个语句时,显示我自己的电话号码而不是呼叫者的电话号码时,收到呼叫者的电话号码时出现问题。
sipMessage.getSipHeaderValue("f")
sipMessage.getSipHeaderValue("t")
sip:[email protected]:52978
---->which receiver id,not caller id.
下面的代码片段是NgnAVSession.java
类的一部分
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:[email protected]");
}
sSessions.put(avSession.getId(), avSession);
return avSession;
}
}
[请任何人帮助我,我将如何解决此问题并获得正确的呼叫者ID /详细信息。在此先感谢。
NgnContact类返回INgnContactService对象以获取远程方的名称。但是它提供了是否将电话号码保存为联系人列表中的名称
我制作了一个网络服务来获取呼叫者姓名。