[Xiaomi Mi Max ROMs, Kernels, Recoveries, & Other D] afridi.shahriar:
Only for developers

[MENTION=2772810]dungphp[/MENTION] , today my data pack will expire, so, clearly tell u about the VoLTE fixing method of mi max.

Look:

1: u don't need to keep pre-signed of OEM apks.

Rather, if u keep the intact OEM apps signed xiaomi Beijing certificate = these apps won't even installed as system app (check in the app list, you will see these are are not in list).

So, sign VoLTE/anything related all apps.apk with ur key, by which u signed the rom.

Ex: signApk certificate.

Check my patch: /system/vendor/app/ims* :: these are not OEM signed!!

2: ur aosp extended rom is only lack of some files:

/system/app:

embms

fastdormancy

#

/system/priv-app:

CNEService

qcrilmsgtunnel

QtiTetherService

#

/system/framework:

cneapiclient.jar

com.quicinc.cne.jar

ConnectivityExt.jar

embmslibrary.jar

ims-common.jar

imscmlibrary.jar

qcnvitems.jar

qcrilhook.jar

rcsimsettings.jar

#

/system/vendor/app:

ims

imssettings

#

(In "system/etc/permissions": here you will keep all the .xml of framework jars.)

#

In "system/vendor/lib, lib64: you will keep the libs of these apps.

3: USE ALL THE IMS RELATED FILES FROM THE SAME FIRMWARE VERSION ROM. OK?

EXAMPLE:

DON'T TAKE "CNEService.apk" from 7.12.8, and, "rcrilmsgtunnel" from 8.1.5, okay?

If u do so, than, outgoing calls will auto ends with VoLTE, through, sms send/receive/ incoming calls over VoLTE will work fine.

This happens because: U HAD COPIED OEM APPS , FROM ROMS, WHERE FIRMWARE WERE DIFFERENT!! SO, NO FIRMWARE WILL BE ABLE TO USE ALL THE FUNCTIONS!!!

4: FROM WHICHEVER ROM VERSION U COPIED THESE FILES (SIGNED BY UR OWN KEYS, BY WHICH OTHER FILES OF THE ROM U WILL SIGN), U MUST THIS FIRMWARE OF THAT MIUI ROM TO GET VOLTE.

5: /system/etc/apns-conf.xml is Wrong!!!

Bcz, for VoLTE carriers, APN_TYPE NEED TO BE BLANK, instead of "default,supl".

And, ip will be "IP V4 AND V6, FOR BOTH HOME AND ROAMING" -- THESE ARE NEEDED TO DO FOR ALL THE APNS, ims apns and default apns.

Ex:

<apn carrier="name-of-your-carrier"

mcc="write-ur-mob-country-code"

mnc="mobile_network_code"

apn="name-of-the-APN"

type=""

protocol="IPV4V6"

roaming_protocol="IPV4V6"

/>

#

IF U DON'T CHANGE THE APN, THEN, USERS NEED TO MANUALLY EDIT THE APN,

ONLY NEED TO SET HOME & ROAMING IP= V4, V6.

APN TYPE= (BLANK).

#####

######################################

BELOW ALL THE FILES/SUGGESTIONS ARE BASED ON UR ROM AND FILES, THESE ARE ALREADY OKAY.

BUT, RE CHECK THOSE, AS THESE ARE NEEDED TO RUN VOLTE

Example of ims libs are:

vendor/lib64/lib-dplmedia.so

vendor/lib64/lib-ims-rcscmjni.so

vendor/lib64/lib-imsSDP.so

vendor/lib64/lib-imscamera.so

vendor/lib64/lib-imsdpl.so

vendor/lib64/lib-imsqimf.so

vendor/lib64/lib-imsrcs.so

vendor/lib64/lib-imsrcscm.so

vendor/lib64/lib-imsrcscmclient.so

vendor/lib64/lib-imsrcscmservice.so

vendor/lib64/lib-imss.so

vendor/lib64/lib-imsvt.so

vendor/lib64/lib-imsxml.so

vendor/lib64/lib-rcsimssjni.so

vendor/lib64/lib-rcsjni.so

vendor/lib64/lib-rtpcommon.so

vendor/lib64/lib-rtpcore.so

vendor/lib64/lib-rtpdaemoninterface.so

vendor/lib64/lib-rtpsl.so

vendor/lib64/libimscamera_jni.so

vendor/lib64/libimsmedia_jni.so

vendor/lib64/librcc.so

vendor/lib64/libvoice-svc.so

#

Ims bins are (ims=VoLTE)

bin/ims_rtp_daemon

bin/imscmservice

bin/imsdatadaemon

bin/imsqmidaemon

#####

Be careful: below files (CNE is also a part of the IMS)

bin/cnd

etc/cne/andsfCne.xml

etc/cne/SwimConfig.xml

etc/cne/wqeclient/ATT/ATT_profile1.xml

etc/cne/wqeclient/ATT/ATT_profile2.xml

etc/cne/wqeclient/ATT/ATT_profile3.xml

etc/cne/wqeclient/ATT/ATT_profile4.xml

etc/cne/wqeclient/ROW/ROW_profile1.xml

etc/cne/wqeclient/ROW/ROW_profile2.xml

etc/cne/wqeclient/ROW/ROW_profile3.xml

etc/cne/wqeclient/ROW/ROW_profile4.xml

etc/cne/wqeclient/ROW/ROW_profile5.xml

etc/cne/wqeclient/VZW/VZW_profile1.xml

etc/cne/wqeclient/VZW/VZW_profile2.xml

etc/cne/wqeclient/VZW/VZW_profile3.xml

etc/cne/wqeclient/VZW/VZW_profile4.xml

etc/cne/wqeclient/VZW/VZW_profile5.xml

etc/cne/wqeclient/VZW/VZW_profile6.xml

etc/permissions/cneapiclient.xml

etc/permissions/com.quicinc.cne.xml

etc/permissions/ConnectivityExt.xml

framework/cneapiclient.jar

framework/com.quicinc.cne.jar

framework/ConnectivityExt.jar

-priv-app/CNEService/CNEService.apk

vendor/lib64/libcne.so

vendor/lib64/libcneapiclient.so

vendor/lib64/libcneqmiutils.so

vendor/lib64/libprotobuf-cpp-fu11.so

vendor/lib64/libprotobuf-cpp-lit1.so

vendor/lib64/libvendorconn.so

vendor/lib64/libwms.so

vendor/lib64/libwqe.so

vendor/lib64/libxml.so

vendor/lib/libcne.so

vendor/lib/libcneapiclient.so

vendor/lib/libcneqmiutils.so

vendor/lib/libvendorconn.so

vendor/lib/libwms.so

vendor/lib/libwqe.so

vendor/lib/libxml.so

######

After doing everything VoLTE will work.

Afte flahsing rom,u need to edit the APN, as i said(if not edited already by the developer inside apns-conf.xml).

And, always after clean flahsing VoLTE roms, either u need to restart ur device/ turn on -off airplane mode. (Only for the first time of ROM's life).

May be out going calls auto ends, then u have to use proper modem.

###

In ur aosp extended rom, I tried some of these methods, but, lacks of OEM files from the same miui verison!!

So, outgoing calls didn't work. (With miui global 8.5.x firmware)

Got an error:

LogCat: a single error

01-04 15:31:20.441 E/QImsService(4296): ImsServiceSub : handleSrvStatusUpdate tracker is null so not updating global VT capability