2016-03-15 2 views
0

У меня есть приложение для Android с использованием Android SIP library.Как получить информацию о вызывающем абоненте SIP под библиотекой sroid sip

При приеме части вызова мне хотелось бы узнать информацию о вызывающем абоненте, такую ​​как учетная запись вызывающего абонента, чтобы пользователь мог решить ответить или отклонить вызов.

Однако я не могу найти способ отображения этой информации.

Мой вопрос: как получить счет вызывающего абонента/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(); 
     } 

    } 
} 

Я пытался разобрать поступающее намерение. Есть два дополнения в намерениях содержит следующие:

андроида: 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 

андроида: sipOfferSD:

[email protected] 

, но это, кажется, не помогает.

ответ

1

Что вы размещаете в качестве содержимого намерения, как представляется, является предложением SDP (протокол описания сеанса), которое содержит описание параметров мультимедиа. Он не имеет информации о сеансе, которую вы ищете.

С yo есть экземпляр SipManager, я угадываю вас как-то createSipSession(). После сеанса вы можете получить SipProfile партнера, используя getPeerProfile(), который, в свою очередь, должен содержать требуемую информацию.

Вы также можете получить профиль сверстников, используя call.getPeerProfile(), если предыдущий не работает, так как у вас также есть объект SipAudioCall.

+0

Спасибо. Следующее - это то, что мне нужно 'SipAudioCall call = sipManager.takeAudioCall (sipIntent, listener);' 'Nname = call.getPeerProfile(). GetUserName();' – Cody

+0

@Cody рад, что я мог бы помочь! ура – Nacho

Смежные вопросы