Discussion:
[Linphone-developers] no response for outgoing call volume but OK for incoming call
Bill hamilton
2018-09-10 16:37:27 UTC
Permalink
Hi guy,
I encounter the serious bug that no any volume response when you make
an out-gong call and touch button to change the volume, the volume of
speaker and handset always the same, however, when it comes to incoming
call , everything is fine, no any volume problem.
Setting file, I remove the auto-adjust volume. The library is :
linphone-android , android studio to compile and download the code into the
devices.
Following are a part of incoming and outgoing call function:

public void acceptCall() {

LinphoneCore lc = LinphoneManager.getLc();
LinphoneCall calls[] = lc.getCalls();


//Loop through all the active calls and find the one that is
incoming
//for (LinphoneCall thisCall : calls) {
try {

LinphoneCall ic = lc.getCallById(LinphoneCall.INCOMING_CALL);
//WMI-769 added a check if the incoming call is null
if (ic != null && ic.getState() ==
LinphoneCall.State.IncomingReceived) {

Log.i("acceptCall()", " Accepting");

lc.acceptCall(ic);

ic.enableEchoCancellation(true);


//If we already have a call, pause it and change its id to
WAITING_CALL
LinphoneCall pc = lc.getCallById(LinphoneCall.PRIMARY_CALL);
if (pc != null) {
lc.pauseCall(pc);
pc.setId(LinphoneCall.WAITING_CALL);
}

//Make sure this call is set as primary
ic.setId(LinphoneCall.PRIMARY_CALL);

//If a conference exists, add this call to it.
if (lc.getConference() != null) {
lc.addToConference(ic);
}

//If there is more than one call, pause the others
this.resumeCallById(ic.getId());

} else {
Log.i("acceptCall()", " Not Incoming");
}

} catch (LinphoneCoreException e) {
e.printStackTrace();
}
}




public void call(String destinationSipAddress) throws
LinphoneCoreException {

//First, start captions
//startCaptions();

Log.i("HI: CALL", "LinphoneShimModule.call()");
LinphoneCore lc = LinphoneManager.getLc();
//LinphoneProxyConfig[] proxies = lc.getProxyConfigList();
// lc.enableEchoLimiter(true);

LinphoneAddress callTo =
LinphoneCoreFactory.instance().createLinphoneAddress(destinationSipAddress);

//Make Primary Call
lc.setDefaultProxyConfig(this.primaryProxy);


LinphoneCall call = lc.inviteId(callTo,LinphoneCall.PRIMARY_CALL);

// call.enableEchoCancellation(true);
//LinphoneManager.setPrimaryCall(call); //Tell linphone manager
which call is primary



Log.i("HI: call() PRIMARY","to:"+callTo.toString()+"
proxy:"+lc.getDefaultProxyConfig().getProxy()); //Log the proxy we are using
Log.i("HI: CALL", "Call to " + destinationSipAddress + " is in
progress...");
}


Thanks,
Bill

Loading...