androidsip库下如何获取SIP来电信息
How to get SIP caller information under android sip library
我有一个 Android 应用程序使用 Android SIP library。
在接听电话部分,我想知道来电者的信息,比如来电账号,以便用户决定接听或拒绝来电。
但是,我找不到如何显示这些信息。
我的问题是如何获取来电的来电者account/ID?
下面是我的广播接收器来接收传入的 sip 呼叫:
public class IncomingCallReceiver extends BroadcastReceiver {
public void onReceive(final Context context, Intent intent) {
...
SipManager sipManager = SipManager.newInstance(this);
...
SipAudioCall call = sipManager.takeAudioCall(sipIntent, listener);
if(answerCall){
call.answerCall(30);
}else{
call.endCall();
}
}
}
我已尝试解析传入的意图。意图中有两个附加内容包含以下内容:
android:sipCallID:
v=0
o=- 1458035023435 1458035023447 IN IP4 210.202.37.33
s=-
c=IN IP4 210.202.37.33
t=0 0
m=audio 13662 RTP/AVP 96 97 3 0 8 127
a=rtpmap:96 GSM-EFR/8000
a=rtpmap:97 AMR/8000
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:127 telephone-event/8000
a=fmtp:127 0-15
a=direction:active
a=nortpproxy:yes
android:sipOfferSD:
300ac55ee035a105a2b11be200c63ba0@10.139.98.112
但是,好像没什么用。
您发布的意图内容似乎是SDP
(会话描述协议)提议,其中包含媒体参数的描述。它没有您要查找的会话信息。
因为你有一个 SipManager instance, I am guessing you somehow createSipSession()
. Once you have the session you can retrieve the SipProfile 的同行使用 getPeerProfile()
,它应该包含你需要的信息。
如果前一个不起作用,您还可以使用 call.getPeerProfile()
获取对等配置文件,因为您还有一个 SipAudioCall
对象。
我有一个 Android 应用程序使用 Android SIP library。
在接听电话部分,我想知道来电者的信息,比如来电账号,以便用户决定接听或拒绝来电。
但是,我找不到如何显示这些信息。
我的问题是如何获取来电的来电者account/ID?
下面是我的广播接收器来接收传入的 sip 呼叫:
public class IncomingCallReceiver extends BroadcastReceiver {
public void onReceive(final Context context, Intent intent) {
...
SipManager sipManager = SipManager.newInstance(this);
...
SipAudioCall call = sipManager.takeAudioCall(sipIntent, listener);
if(answerCall){
call.answerCall(30);
}else{
call.endCall();
}
}
}
我已尝试解析传入的意图。意图中有两个附加内容包含以下内容:
android:sipCallID:
v=0
o=- 1458035023435 1458035023447 IN IP4 210.202.37.33
s=-
c=IN IP4 210.202.37.33
t=0 0
m=audio 13662 RTP/AVP 96 97 3 0 8 127
a=rtpmap:96 GSM-EFR/8000
a=rtpmap:97 AMR/8000
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:127 telephone-event/8000
a=fmtp:127 0-15
a=direction:active
a=nortpproxy:yes
android:sipOfferSD:
300ac55ee035a105a2b11be200c63ba0@10.139.98.112
但是,好像没什么用。
您发布的意图内容似乎是SDP
(会话描述协议)提议,其中包含媒体参数的描述。它没有您要查找的会话信息。
因为你有一个 SipManager instance, I am guessing you somehow createSipSession()
. Once you have the session you can retrieve the SipProfile 的同行使用 getPeerProfile()
,它应该包含你需要的信息。
如果前一个不起作用,您还可以使用 call.getPeerProfile()
获取对等配置文件,因为您还有一个 SipAudioCall
对象。