- Forum posts: 1
Jul 31, 2015, 11:59:36 AM via Website
Jul 31, 2015 11:59:36 AM via Website
I am working on a SIP based application , i have followed SIP-DEMO for reference, everything is working fine , i am able to make app to app calls, receive call but when i am trying to answer the call i get an error "Transaction Terminated" ,error code "-3". Can anybody help me to figure out the cause of problem and come up with a solution, any sort of help is highly appreciated.
Below is the class i have used to Receive Incoming Calls
public class IncomingCallActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.incoming_call_reciever);
mIntent = Helper.getInstance().getCallIntent();
mManager = Helper.getInstance().getSipManager();
initListeners();
try {
mCall = mManager.takeAudioCall(mIntent, listener);
} catch (SipException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
views();
setClickListenerOnReceiveCall();
setClickListenerOnEndCall();
}
private void initListeners() {
// TODO Auto-generated method stub
listener = new SipAudioCall.Listener(){
@Override
public void onRinging(SipAudioCall call, SipProfile caller) {
// TODO Auto-generated method stub
super.onRinging(call, caller);
Toast.makeText(context, "onRinging", Toast.LENGTH_SHORT).show();
}
@Override
public void onCallEstablished(SipAudioCall call) {
// TODO Auto-generated method stub
super.onCallEstablished(call);
Toast.makeText(context, "onCallEstablished", Toast.LENGTH_SHORT).show();
mCall.startAudio();
mCall.setSpeakerMode(true);
}
@Override
public void onCallEnded(SipAudioCall call) {
// TODO Auto-generated method stub
super.onCallEnded(call);
Toast.makeText(context, "onCallEnded", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SipAudioCall call, int errorCode, String errorMessage) {
// TODO Auto-generated method stub
super.onError(call, errorCode, errorMessage);
}
};
}
private void views() {
// TODO Auto-generated method stub
mChronometer = (Chronometer)findViewById(R.id.chronometer1);
buttonEndCall = (Button)findViewById(R.id.buttonEndCall);
buttonRecieve = (Button)findViewById(R.id.buttonReceiveCall);
textViewCallerInfo = (TextView)findViewById(R.id.textViewCallerInfo);
textViewCallerInfo.setText(mCall.getPeerProfile().getDisplayName());
}
private void setClickListenerOnReceiveCall() {
// TODO Auto-generated method stub
buttonRecieve.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(context, "Recieve", Toast.LENGTH_SHORT).show();
try {
mCall.answerCall(30);
} catch (SipException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
private void setClickListenerOnEndCall() {
// TODO Auto-generated method stub
buttonEndCall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(context, "Reject", Toast.LENGTH_SHORT).show();
try {
mCall.endCall();
mCall.close();
} catch (SipException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
Recommended editorial content
With your consent, external content is loaded here.
By clicking on the button above, you agree that external content may be displayed to you. Personal data may be transmitted to third-party providers in the process. You can find more information about this in our Privacy Policy.