导航菜单

页面标题

页面副标题

050 IP Phone v2.3.0 - o.java 源代码

正在查看: 050 IP Phone v2.3.0 应用的 o.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package y4;

import android.R;
import com.oki.esound.EsEngineJni;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.StringTokenizer;
import java.util.TimerTask;
import m5.p;
import m5.q;
import m5.t;
import m5.v;
import m5.w;
import m5.x;
import m5.y;
import n5.u;
import n5.z;
import z4.g0;
import z4.j0;

public class o extends g0 {
    private static final p7.a r = s5.d.a(o.class);
    private int h;
    private y4.e i;
    private b j;
    private y4.h k;
    private y l;
    private long m;
    private boolean n;
    private TimerTask[] o;
    private boolean p;
    private d q;

    public interface b {
        void b(int i);

        void d(int i, x xVar, String str);
    }

    private class c extends TimerTask {
        private c() {
        }

        @Override
        public void run() {
            o.r.e("registration expired");
            o.this.o[1] = null;
            o.this.d0(3);
            o.this.a0();
            o.this.Q0(0);
        }
    }

    private static class d {
        private String a;
        private int b;
        private HashSet<m5.b> c = new HashSet<>();

        d() {
        }

        void a(w wVar) {
            if (this.c.isEmpty()) {
                return;
            }
            Iterator<m5.b> it = this.c.iterator();
            while (it.hasNext()) {
                m5.b next = it.next();
                next.r("expires", 0);
                o.r.e("add removing contact. location=[" + next + "]");
                wVar.d(235274253, new n5.e(next));
            }
        }

        String b() {
            return this.a;
        }

        int c() {
            return this.b;
        }

        void d(x xVar) {
            if (this.a == null) {
                return;
            }
            this.c.clear();
            u[] C = xVar.C(235274253);
            if (C == null || C.length == 0) {
                o.r.i("keepContacts: no contact header found");
                return;
            }
            for (u uVar : C) {
                m5.b b = ((n5.e) uVar).b();
                q5.d dVar = (q5.d) b.l();
                String u = dVar.u();
                int A = dVar.A();
                if (this.a.equals(u) && this.b == A) {
                    o.r.e("keepContacts: keep known contact. addr=[" + b + "]");
                    this.c.add((m5.b) b.clone());
                } else {
                    o.r.e("keepContacts: skip unknown contact. addr=[" + b + "]");
                }
            }
        }

        void e(String str, int i) {
            this.a = str;
            this.b = i;
        }
    }

    private class e extends TimerTask {
        private e() {
        }

        @Override
        public void run() {
            o.this.o[0] = null;
            if (o.this.h == 7) {
                o.r.e("restart recovery");
                o.this.L0();
            } else {
                o.r.e("start refresh");
                if (o.this.x0()) {
                    o.this.Y0();
                }
                o.this.K0();
            }
        }
    }

    private class f extends TimerTask {
        private f() {
        }

        @Override
        public void run() {
            o.r.e("retry timer expired");
            o.this.o[3] = null;
            int l0 = o.this.l0();
            if (j0.g(l0) && j0.b(l0) > 2) {
                try {
                    if (2 == o.this.D().p(65540)) {
                        o.r.a("stop retry task");
                        return;
                    }
                } catch (Exception e) {
                    o.r.f("getInfInfo: failed to get CONNECTION_STATE", e);
                }
            }
            if (o.this.q0()) {
                try {
                    if (o.this.h == 7) {
                        o.this.L0();
                        return;
                    }
                    if (o.this.h == 8) {
                        if (o.this.x0()) {
                            o.this.Y0();
                        }
                        o.this.K0();
                    } else {
                        o.r.i("unexpected internal state. state=[" + i.a(o.this.h) + "]");
                    }
                } catch (Exception e8) {
                    o.r.f("retry failed", e8);
                }
            }
        }
    }

    private class g implements v {
        private g() {
        }

        @Override
        public void a() {
        }

        @Override
        public void c() {
        }

        @Override
        public void e() {
        }

        @Override
        public void g() {
        }

        @Override
        public void h() {
        }

        @Override
        public void j() {
            o.this.d0(12);
        }

        @Override
        public void k() {
        }

        @Override
        public void l() {
        }

        @Override
        public void m() {
        }

        @Override
        public void p() {
        }

        @Override
        public void r(String str, String str2, i5.g gVar) {
            o.this.d0(11);
        }

        @Override
        public void s() {
        }

        @Override
        public void u(String str, String str2, i5.g gVar) {
            if (o.this.q0()) {
                o.this.U(0);
            }
            o.this.d0(12);
        }

        @Override
        public void v() {
        }
    }

    private class h extends TimerTask {
        private h() {
        }

        @Override
        public void run() {
            o.r.e("skew timer expired");
            o.this.o[2] = null;
        }
    }

    protected static final class i {
        static final String a(int i) {
            switch (i) {
                case -1:
                    return "INVALID";
                case 0:
                    return "IDLE";
                case 1:
                    return "REGISTERED";
                case 2:
                    return "PEND_CLEAR";
                case 3:
                    return "PEND_INITIAL";
                case 4:
                    return "PEND_REMOVE";
                case 5:
                    return "PEND_REFRESH";
                case 6:
                    return "PEND_DEREG";
                case 7:
                    return "WAIT_REMOVE";
                case 8:
                    return "WAIT_REFRESH";
                case 9:
                    return "WAIT_DEREG";
                case 10:
                    return "PSD_RECOVER";
                default:
                    return "<UNKNOWN>";
            }
        }
    }

    private static final class j {
        static final String a(int i) {
            return i != 0 ? i != 1 ? i != 2 ? i != 3 ? "<UNKNOWN>" : "RETRY" : "SKEW" : "EXPIRES" : "REFRESH";
        }
    }

    public o(y4.e eVar, b bVar, y4.h hVar) {
        super("framework.core.regmgr", eVar, 900);
        this.h = -1;
        this.n = false;
        this.o = new TimerTask[4];
        this.p = false;
        this.q = new d();
        Q0(0);
        this.i = eVar;
        this.j = bVar;
        this.k = hVar;
        z(new g());
    }

    private long A0(x xVar) {
        long j8 = -1;
        try {
            String u = D().u(196616);
            if (u != null && u.length() != 0) {
                u[] C = xVar.C(235274253);
                if (C != null && C.length != 0) {
                    q5.d dVar = null;
                    for (u uVar : C) {
                        m5.b b8 = ((n5.e) uVar).b();
                        long g8 = b8.g("expires", -1);
                        q5.d dVar2 = (q5.d) b8.l();
                        if (u.equals(dVar2.E()) && g8 >= j8) {
                            dVar = dVar2;
                            j8 = g8;
                        }
                    }
                    if (dVar != null) {
                        r.e("parseRegisteringContact: uri=[" + dVar + "], expires=[" + j8 + "]");
                        D().R(327683, dVar);
                    } else {
                        r.i("parseRegisteringContact: no matching contacts are found. uinfo=[" + u + "]");
                    }
                    return j8;
                }
                r.i("parseRegisteringContact: no contact header found");
                return -1L;
            }
            r.i("parseRegisteringContact: no random usrinfo");
            return -1L;
        } catch (b5.c e8) {
            r.h("unexpected bus error", e8);
            return -1L;
        } catch (z4.u e9) {
            r.h("unexpected config exception", e9);
            return -1L;
        }
    }

    private void E0(x xVar) {
        y4.a aVar = (y4.a) this.i.h();
        try {
            ArrayList arrayList = (ArrayList) D().q(393217);
            u[] C = xVar.C(201785384);
            if (C != null && C.length > 0) {
                arrayList.clear();
                for (u uVar : C) {
                    q5.f fVar = (q5.f) ((n5.e) uVar).b().l().clone();
                    r.a("adding PUID=[" + fVar + "]");
                    arrayList.add(fVar);
                }
            } else if (aVar.e(65537) == 0) {
                p7.a aVar2 = r;
                aVar2.e("P-Associated-URIs are NOT found in the response. Disclose PUBLIC_UID.");
                if (arrayList == null) {
                    aVar2.j("P-Associated-URIs is null.");
                    return;
                } else {
                    arrayList.clear();
                    arrayList.add(aVar.i(EsEngineJni.ES_MESSAGE_TELECOM_FRAMEWORK_ENABLED));
                }
            } else {
                r.i("P-Associated-URIs are NOT found in the response. No P-A-URIs are set");
            }
            try {
                if (arrayList.size() > 0) {
                    this.i.j().R(EsEngineJni.ES_MESSAGE_TELECOM_FRAMEWORK_ENABLED, (q5.f) arrayList.get(0));
                } else {
                    this.i.j().R(EsEngineJni.ES_MESSAGE_TELECOM_FRAMEWORK_ENABLED, null);
                }
            } catch (z4.u e8) {
                r.f("unexpected config exception", e8);
            }
        } catch (b5.c e9) {
            r.f("unexpected bus exception", e9);
        }
    }

    private void F0(x xVar) {
        r.k("refreshing service route");
        O0(xVar.z(201785420));
    }

    private synchronized void G0() {
        this.l = null;
        this.n = false;
        m5.b bVar = new m5.b(null, this.i.h().i(EsEngineJni.ES_MESSAGE_TELECOM_FRAMEWORK_ENABLED));
        w h8 = h(1, D().v("framework", EsEngineJni.ES_MESSAGE_TELECOM_FRAMEWORK_ENABLED), bVar, bVar);
        P0(h8.L());
        g0(h8, 3);
        h8.i0();
        Q0(2);
    }

    private synchronized void H0() {
        y yVar = this.l;
        if (yVar == null) {
            r.j("missin SIP session");
            throw new IOException("missing SIP session");
        }
        w e8 = yVar.e(1);
        g0(e8, 2);
        try {
            e8.i0();
            Q0(6);
        } catch (IOException e9) {
            Q0(8);
            throw e9;
        }
    }

    private synchronized void I0() {
        w e8;
        try {
            this.n = false;
            this.m = this.i.h().e(65539);
            y yVar = this.l;
            if (yVar == null) {
                m5.b bVar = new m5.b(null, this.i.h().i(EsEngineJni.ES_MESSAGE_TELECOM_FRAMEWORK_ENABLED));
                e8 = h(1, D().v("framework", EsEngineJni.ES_MESSAGE_TELECOM_FRAMEWORK_ENABLED), bVar, bVar);
                P0(e8.L());
            } else {
                e8 = yVar.e(1);
            }
            g0(e8, 0);
            e8.i0();
            Q0(3);
        } catch (Throwable th) {
            throw th;
        }
    }

    private void J0() {
        try {
            if (y0()) {
                L0();
                return;
            }
            if (x0()) {
                Y0();
            }
            K0();
        } catch (IllegalStateException e8) {
            r.f("refresh request is ignored", e8);
        }
    }

    public synchronized void K0() {
        try {
            int i8 = this.h;
            if (i8 != 1 && i8 != 8 && i8 != 4 && i8 != 10) {
                String str = "illegal state. state=[" + i.a(this.h) + "]";
                r.i(str);
                throw new IllegalStateException(str);
            }
            y yVar = this.l;
            if (yVar == null) {
                r.j("missing SIP session");
                throw new IllegalStateException("missing SIP session");
            }
            w e8 = yVar.e(1);
            g0(e8, 1);
            try {
                int l0 = l0();
                if (j0.g(l0) && j0.b(l0) > 2) {
                    e0(101, g0.a.a(0));
                }
                e8.i0();
                Q0(5);
            } catch (IOException e9) {
                r.f("failed to send re-REG", e9);
                if (q0()) {
                    U(0);
                    U0(2, i0(-3));
                }
                Q0(8);
                e0(101, g0.a.a(-3));
            }
        } catch (Throwable th) {
            throw th;
        }
    }

    public synchronized void L0() {
        try {
            int i8 = this.h;
            if (i8 != 1 && i8 != 7 && i8 != 10) {
                String str = "illegal state. state=[" + i.a(this.h) + "]";
                r.i(str);
                throw new IllegalStateException(str);
            }
            y yVar = this.l;
            if (yVar == null) {
                r.j("missing SIP session");
                throw new IllegalStateException("missing SIP session");
            }
            w e8 = yVar.e(1);
            g0(e8, 3);
            try {
                e8.i0();
                Q0(4);
            } catch (IOException e9) {
                r.f("failed to send rm-REG", e9);
                if (q0()) {
                    U(0);
                    U0(2, h0());
                }
                Q0(7);
                d0(101);
            }
        } catch (Throwable th) {
            throw th;
        }
    }

    private void M0(w wVar, int i8) {
        m5.b b8 = ((n5.e) wVar.f0(235274253)).b();
        if ((i8 == 0 || i8 == 1 || i8 == 2) && x0()) {
            String str = null;
            try {
                str = D().u(196616);
                ((q5.d) b8.l()).P(str);
            } catch (Exception e8) {
                r.h("failed to set random uinfo. uinfo=[" + str + "]", e8);
            }
        }
        if (!u0()) {
            try {
                String u = this.i.j().u(196609);
                if (u != null && u.length() > 0) {
                    b8.w("methods", u);
                }
            } catch (b5.c e9) {
                r.f("unexpected bus error", e9);
            }
        }
        if (j0.f(l0())) {
            try {
                String u7 = this.i.j().u(196611);
                if (u7 != null) {
                    StringTokenizer stringTokenizer = new StringTokenizer(u7, ";");
                    while (stringTokenizer.hasMoreTokens()) {
                        String nextToken = stringTokenizer.nextToken();
                        int indexOf = nextToken.indexOf("=");
                        if (indexOf > 0) {
                            String substring = nextToken.substring(0, indexOf);
                            String substring2 = nextToken.substring(indexOf + 1);
                            r.a("setContactHeader: fname=[" + substring + "], fvalue=[" + substring2 + "]");
                            b8.x(substring, substring2, false);
                        } else {
                            r.a("setContactHeader: token=[" + nextToken + "]");
                            b8.w(nextToken, "");
                        }
                    }
                }
            } catch (b5.c e10) {
                r.f("unexpected bus error", e10);
            }
        }
        if (!v0()) {
            if (i8 == 0 || i8 == 1) {
                b8.r("expires", (int) this.m);
            } else if (i8 == 2 || i8 == 3) {
                b8.r("expires", 0);
            }
        }
        if (t0()) {
            b8.t("reg-id", "1");
        }
    }

    private void N0(w wVar) {
        n5.y yVar = new n5.y();
        if (this.i.h().e(65541) == 1) {
            yVar.b("pref");
        }
        if (this.i.h().e(65542) == 1) {
            yVar.b("path");
        }
        if (yVar.size() > 0) {
            wVar.s0(201457730, yVar.d());
        }
    }

    private void O0(n5.j jVar) {
        if (jVar == null || jVar.i()) {
            r.k("setting service-route=[null]");
            x(null);
            return;
        }
        ArrayList arrayList = new ArrayList();
        for (int i8 = 0; i8 < jVar.d(); i8++) {
            arrayList.add(((n5.e) jVar.h(i8)).b());
        }
        r.k("setting service-route=[" + arrayList + "]");
        x(arrayList);
    }

    private void P0(y yVar) {
        this.l = yVar;
        if (this.i.h().c(131077)) {
            yVar.c0(new q5.d(1, this.i.h().h(196621), this.i.h().e(65552)));
        }
    }

    public void Q0(int i8) {
        b bVar;
        if (this.h == i8) {
            r.k("ignore update state. state=[" + i.a(this.h) + "]");
            return;
        }
        r.a("update state. [" + i.a(this.h) + "] -> [" + i.a(i8) + "]");
        boolean r0 = r0();
        int i9 = this.h;
        this.h = i8;
        boolean r02 = r0();
        if (r0 || !r02) {
            if (r0 && !r02 && this.i.j().x() != null) {
                this.i.j().x().l("register");
            }
        } else if (this.i.j().x() != null) {
            this.i.j().x().b("register");
        }
        if (-1 == i9 || (bVar = this.j) == null) {
            return;
        }
        boolean z = this.p;
        if (!z && 1 == i8) {
            this.p = true;
            bVar.b(2);
        } else if (z && i8 == 0) {
            this.p = false;
            bVar.b(3);
        }
    }

    private void R0(w wVar) {
        n5.y yVar = new n5.y();
        if (this.i.h().e(65541) == 2) {
            yVar.b("pref");
        }
        if (this.i.h().e(65542) == 2) {
            yVar.b("path");
        }
        if (yVar.size() > 0) {
            wVar.s0(235012178, yVar.d());
        }
    }

    private void S() {
        for (int i8 = 0; i8 < 4; i8++) {
            U(i8);
        }
    }

    private void S0(x xVar) {
        F0(xVar);
        this.q.d(xVar);
        long A0 = x0() ? A0(xVar) : -1L;
        if (A0 == -1) {
            A0 = z0(xVar);
        }
        S();
        V0(0, this.k.e(A0));
        V0(1, A0);
        long g8 = this.k.g(D().o("framework", 65539) / 1000, A0);
        if (g8 > 0) {
            V0(2, g8);
        } else {
            r.a("expires value is too short to start skew timer.");
        }
        E0(xVar);
        Q0(1);
    }

    public void U(int i8) {
        if (this.o[i8] != null) {
            r.a("cancel timer. type=[" + j.a(i8) + "]");
            D().c(this.o[i8]);
            this.o[i8] = null;
        }
    }

    private void U0(int i8, long j8) {
        long currentTimeMillis = System.currentTimeMillis();
        if (j8 <= currentTimeMillis) {
            r.i("failed to start retry timer. mode=[" + i8 + "], rtime=[" + j8 + "], ctime=[" + currentTimeMillis + "]");
            return;
        }
        U(3);
        this.o[3] = new f();
        long j9 = j8 - currentTimeMillis;
        r.a("start retry timer. mode=[" + i8 + "], msec=[" + j9 + "]");
        D().E(this.o[3], j9, true);
    }

    private boolean V(String str, int i8, q5.d dVar) {
        String u = dVar.u();
        int A = dVar.A();
        int l0 = l0();
        if (!j0.g(l0) || j0.b(l0) <= 2) {
            return u.equals(str) && A == i8;
        }
        if (u.equals(str)) {
            return A == i8 || (i8 == 5060 && A == -1 && !dVar.H()) || (i8 == 5061 && A == -1 && dVar.H());
        }
        return false;
    }

    private void V0(int i8, long j8) {
        U(i8);
        if (i8 == 0) {
            this.o[i8] = new e();
        } else if (i8 == 1) {
            this.o[i8] = new c();
        } else {
            if (i8 != 2) {
                if (i8 == 3) {
                    r.j("unexpected timer task. use startRetryTimer");
                    return;
                }
                r.j("unknown timer task. type=[" + j.a(i8) + "]");
                return;
            }
            this.o[i8] = new h();
        }
        r.a("start timer. type=[" + j.a(i8) + "], secs=[" + j8 + "]");
        D().E(this.o[i8], j8 * 1000, true);
    }

    private void W(x xVar) {
        n5.o oVar;
        r.i("doErrorResponse,res=[" + xVar + "]");
        if (this.h != 5) {
            Y(xVar);
            return;
        }
        int P0 = xVar.P0();
        if (q0() && (oVar = (n5.o) xVar.f0(65605)) != null && this.k.b(P0)) {
            long n = oVar.n();
            if (n > 0) {
                U0(1, j0(n));
                Q0(8);
                return;
            }
        }
        if (!this.k.f(P0)) {
            Y(xVar);
            return;
        }
        if (q0()) {
            U0(2, h0());
        }
        Q0(8);
    }

    private void X(int i8) {
        r.i("doFatalError");
        a0();
        Q0(0);
        d0(i8);
    }

    private void X0(x xVar) {
        n5.j z = xVar.z(100728920);
        if (z == null || z.d() == 0) {
            return;
        }
        n5.w wVar = (n5.w) z.h(0);
        String o = wVar.o();
        int p = wVar.p();
        String t = wVar.t();
        String d8 = wVar.d("rport");
        if (t != null) {
            t = t.trim();
        }
        if (d8 != null) {
            d8 = d8.trim();
        }
        if ((t == null || t.length() == 0) && (d8 == null || d8.length() == 0)) {
            p7.a aVar = r;
            if (aVar.g()) {
                aVar.k("this terminal has a global contact address,host=[" + o + "],port=[" + p + "],connector=[" + xVar.o() + "]");
            }
            this.q.e(o, p);
            return;
        }
        p7.a aVar2 = r;
        if (aVar2.g()) {
            aVar2.k("contact address will be replaced on using the connector,received=[" + t + "],rport=[" + d8 + "],connector=[" + xVar.o() + "]");
        }
        int i8 = -1;
        if (d8 != null) {
            try {
                i8 = Integer.parseInt(d8);
            } catch (NumberFormatException e8) {
                r.f("failed to parse rport parameter in Via header. rport=[" + d8 + "]", e8);
            }
        }
        if (t == null || t.length() == 0) {
            this.q.e(o, i8);
            t = null;
        } else {
            this.q.e(t, i8);
        }
        this.i.c0().K(xVar.o(), t, i8);
    }

    private void Y(x xVar) {
        r.i("doFatalErrorResponse,res=[" + xVar + "]");
        a0();
        Q0(0);
        f0(-3, xVar);
    }

    public void Y0() {
        int length;
        while (true) {
            String a8 = r5.b.a();
            if (Character.isLetter(a8.charAt(0)) && (length = a8.length()) >= 10 && length <= 20) {
                try {
                    D().P(196616, a8);
                    r.e("generated random usrinfo. uinfo=[" + a8 + "]");
                    return;
                } catch (Exception e8) {
                    r.h("failed to set random uinfo. uinfo=[" + a8 + "]", e8);
                    return;
                }
            }
        }
    }

    private void Z(x xVar) {
        try {
            long E = xVar.E(R.drawable.ic_media_next);
            p7.a aVar = r;
            aVar.e("Min-Expires header value=[" + E + "]");
            if (E <= this.m) {
                aVar.j("illegal Min-Expires header. expires=[" + this.m + "], min-expires=[" + E + "]");
                Y(xVar);
                return;
            }
            aVar.j("overrides expires value. current=[" + this.m + "], min-expires=[" + E + "]");
            this.m = E;
            try {
                Q0(8);
                K0();
            } catch (IllegalStateException e8) {
                r.h("assertion error. sendRefreshRegister should accept WAIT_REFRESH", e8);
            }
        } catch (i5.m unused) {
            r.j("failed to parse Min-Expires header");
            Y(xVar);
        }
    }

    public void a0() {
        this.n = false;
        S();
        O0(null);
        try {
            D().P(196616, null);
        } catch (Exception e8) {
            r.l("failed to clear random uinfo", e8);
        }
        y yVar = this.l;
        if (yVar != null) {
            yVar.M();
            this.l = null;
        }
    }

    private void b0(x xVar) {
        if (j0.e(l0())) {
            if (o0(xVar)) {
                r.a("X-Registered-Mode header found");
            } else {
                r.e("X-Registered-Mode header not found");
            }
            try {
                this.i.j().J(131076, true);
            } catch (Exception e8) {
                r.f("failed to update SharedInfo.B_DOCOMO_PBX", e8);
            }
        }
        int i8 = this.h;
        if (i8 == 2) {
            if (this.n) {
                Q0(0);
                d0(2);
                return;
            }
            try {
                I0();
                return;
            } catch (Exception e9) {
                r.h("failed to parse 2xx response.", e9);
                Q0(0);
                d0(-100);
                return;
            }
        }
        if (i8 == 3) {
            if (this.n) {
                try {
                    Q0(1);
                    H0();
                    return;
                } catch (IOException e10) {
                    r.f("failed to send de-REGISTER.", e10);
                    Q0(0);
                    d0(2);
                    return;
                }
            }
            try {
                S0(xVar);
                d0(1);
                return;
            } catch (Exception e11) {
                r.h("failed to parse initial 2xx response.", e11);
                Q0(0);
                d0(-100);
                return;
            }
        }
        if (i8 == 4) {
            if (this.n) {
                Q0(0);
                d0(2);
                a0();
                return;
            }
            try {
                if (x0()) {
                    Y0();
                }
                K0();
                return;
            } catch (Exception e12) {
                r.h("failed to parse removing 2xx response.", e12);
                if (q0()) {
                    U(0);
                    U0(2, h0());
                }
                Q0(7);
                d0(101);
                return;
            }
        }
        if (i8 != 5) {
            if (i8 == 6) {
                Q0(0);
                d0(2);
                a0();
                return;
            } else {
                r.i("unexpected internal state. state=[" + i.a(this.h) + "]");
                return;
            }
        }
        if (this.n) {
            try {
                Q0(1);
                H0();
                return;
            } catch (IOException e13) {
                r.f("failed to send re-REGISTER.", e13);
                Q0(0);
                d0(2);
                return;
            }
        }
        try {
            S0(xVar);
            d0(1);
        } catch (Exception e14) {
            r.h("failed to parse refreshing 2xx response.", e14);
            if (q0()) {
                U0(2, h0());
            }
            Q0(8);
        }
    }

    private void c0(x xVar) {
        r.i("doUnauthorizedResp,res=[" + xVar + "]");
        a0();
        Q0(0);
        f0(-4, xVar);
    }

    public void d0(int i8) {
        b bVar = this.j;
        if (bVar != null) {
            bVar.d(i8, null, null);
        }
    }

    private void e0(int i8, String str) {
        b bVar = this.j;
        if (bVar != null) {
            bVar.d(i8, null, str);
        }
    }

    private void f0(int i8, x xVar) {
        b bVar = this.j;
        if (bVar != null) {
            bVar.d(i8, xVar, null);
        }
    }

    private void g0(w wVar, int i8) {
        if (i8 == 3) {
            wVar.q0("Contact", "*");
            wVar.q0("Expires", "0");
        } else if (n0() && i8 == 2) {
            wVar.q0("Contact", "*");
            wVar.q0("Expires", "0");
        } else {
            M0(wVar, i8);
            if (m0()) {
                this.q.a(wVar);
            }
            if (v0()) {
                if (i8 == 2) {
                    wVar.q0("Expires", "0");
                } else {
                    wVar.q0("Expires", Long.toString(this.m));
                }
            }
            if (u0()) {
                try {
                    String u = this.i.j().u(196609);
                    if (u != null && u.length() > 0) {
                        wVar.q0("Allow", u);
                    }
                } catch (b5.c e8) {
                    r.f("unexpected bus error", e8);
                }
            }
        }
        if (i8 == 0 || i8 == 1) {
            N0(wVar);
            R0(wVar);
        }
        if (w0() || t0()) {
            wVar.g0().k("rport", "");
        }
        int l0 = l0();
        if (j0.e(l0)) {
            wVar.q0("X-Register-Supported", "PBXSIPUA/1.0");
        }
        if (j0.g(l0) && p0()) {
            wVar.q0("Call-Info", "<http://www.ntt.com>;purpose=push_on");
        }
    }

    private long h0() {
        return i0(0);
    }

    private long i0(int i8) {
        return this.k.h(i8, this.m);
    }

    private long j0(long j8) {
        return this.k.c(j8);
    }

    public int l0() {
        return D().o("framework", 65537);
    }

    private boolean m0() {
        int l0 = l0();
        return (!j0.g(l0) || j0.b(l0) <= 1) && n0() && !v0();
    }

    private boolean n0() {
        return this.i.h().c(131073);
    }

    private boolean o0(x xVar) {
        String y = xVar.y("X-Registered-Mode");
        if (y == null) {
            return false;
        }
        return y.equals("PBXSIPUA/1.0");
    }

    private boolean p0() {
        return D().j("framework", 131098);
    }

    public boolean q0() {
        return this.o[2] != null;
    }

    private boolean t0() {
        return D().j("framework", 131084);
    }

    private boolean u0() {
        return this.i.h().c(131074);
    }

    private boolean v0() {
        return this.i.h().c(131075);
    }

    private boolean w0() {
        return D().j("framework", 131092);
    }

    public boolean x0() {
        return D().j("framework", 131091);
    }

    private boolean y0() {
        int l0 = l0();
        return (!j0.g(l0) || j0.b(l0) <= 1) && !j0.c(l0) && n0() && v0();
    }

    private long z0(m5.x r21) {
        throw new UnsupportedOperationException("Method not decompiled: y4.o.z0(m5.x):long");
    }

    @Override
    protected void A() {
        a0();
        Q0(0);
    }

    @Override
    public void B(int i8, q qVar) {
        if (!qVar.b0()) {
            r.a("doSendError: unexpected message (response)");
            return;
        }
        w wVar = (w) qVar;
        p7.a aVar = r;
        aVar.a("doSendError: ecode=[" + g0.a.a(i8) + "], req=[" + wVar + "]");
        if (1 != wVar.G()) {
            aVar.e("Unexpected request. method=[" + t.b(wVar.G()) + "]");
            return;
        }
        int i9 = this.h;
        if (i9 == 2 || i9 == 3) {
            if (i8 == -3) {
                X(-5);
                return;
            } else {
                X(-2);
                return;
            }
        }
        if (i9 == 4) {
            if (q0()) {
                U(0);
                U0(2, h0());
            }
            Q0(7);
            d0(101);
            return;
        }
        if (i9 == 5) {
            if (q0()) {
                U0(2, i0(i8));
            }
            Q0(8);
            e0(101, g0.a.a(i8));
            return;
        }
        if (i9 == 6) {
            X(-2);
            return;
        }
        aVar.e("Unexpected state. state=[" + this.h + "]");
    }

    protected void B0() {
        switch (this.h) {
            case -1:
            case 0:
                r.e("quick stop is ignored. state=[" + i.a(this.h) + "]");
                break;
            case 1:
                try {
                    H0();
                    a0();
                    Q0(0);
                    break;
                } catch (IOException unused) {
                    r.i("failed to send de-REGISTER");
                    return;
                }
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 8:
            case 9:
                a0();
                Q0(0);
                break;
            default:
                r.j("unknown state. state=[" + i.a(this.h) + "]");
                break;
        }
    }

    protected void C0() {
        switch (this.h) {
            case -1:
            case 0:
            case 6:
            case 9:
                r.e("recover is ignored. state=[" + i.a(this.h) + "]");
                return;
            case 1:
                break;
            case 2:
            case 3:
                r.j("CoreEnabler should stop/start RegHandler to recover. state=[" + i.a(this.h) + "]");
                return;
            case 4:
            case 5:
            case 7:
            case 8:
                Q0(10);
                break;
            default:
                r.j("unknown state. state=[" + i.a(this.h) + "]");
                return;
        }
        try {
            J0();
        } catch (IOException e8) {
            r.f("failed to recover. state=[" + i.a(this.h) + "]", e8);
            throw e8;
        }
    }

    protected void D0() {
        try {
            if (x0()) {
                Y0();
            }
            K0();
        } catch (IllegalStateException e8) {
            r.f("refresh request is ignored", e8);
        }
    }

    boolean T() {
        if (this.o[3] == null) {
            return false;
        }
        U(3);
        return true;
    }

    protected void T0() {
        if (this.h == 0) {
            if (x0()) {
                Y0();
            }
            if (n0()) {
                G0();
                return;
            } else {
                I0();
                return;
            }
        }
        String str = "illegal state. state=[" + i.a(this.h) + "]";
        r.i(str);
        throw new IllegalStateException(str);
    }

    protected void W0() {
        switch (this.h) {
            case -1:
            case 0:
            case 6:
            case 9:
                r.e("normal stop is ignored. state=[" + i.a(this.h) + "]");
                break;
            case 1:
                H0();
                break;
            case 2:
            case 3:
            case 4:
            case 5:
                this.n = true;
                break;
            case 7:
            case 8:
                a0();
                Q0(0);
                break;
            default:
                r.j("unknown state. state=[" + i.a(this.h) + "]");
                break;
        }
    }

    @Override
    public void j(w wVar) {
        throw new i5.m("RegisterHandler never receives requests");
    }

    y k0() {
        return this.l;
    }

    @Override
    public synchronized void l(x xVar) {
        p7.a aVar = r;
        aVar.e("doResponse,res=[" + xVar + "]");
        int P0 = xVar.P0();
        if (P0 >= 200 || !xVar.a0()) {
            if (w0()) {
                X0(xVar);
            }
            try {
            } catch (Exception e8) {
                r.f("Failed to process response", e8);
            }
            if (1 != xVar.G()) {
                String str = "unexpected response. method=[" + xVar.G() + "]";
                aVar.i(str);
                throw new i5.m(str);
            }
            if (200 > P0 || P0 >= 300) {
                if (P0 != 401 && P0 != 407) {
                    if (P0 == 423) {
                        Z(xVar);
                    } else {
                        W(xVar);
                    }
                }
                c0(xVar);
            } else {
                if (this.h != 2) {
                    this.k.d(0, -1L);
                }
                b0(xVar);
            }
        }
    }

    @Override
    public void m(w wVar) {
        throw new i5.m("RegisterHandler never receives requests");
    }

    @Override
    public void o(p pVar) {
        if (t0() && pVar.b() == p.c.Error && ((p.a) pVar.a()) == p.a.TXN_TERMINATED) {
            return;
        }
        super.o(pVar);
    }

    @Override
    public z q() {
        return null;
    }

    boolean r0() {
        int i8 = this.h;
        return i8 == 2 || i8 == 3 || i8 == 4 || i8 == 5 || i8 == 6;
    }

    boolean s0() {
        return this.o[3] != null;
    }

    @Override
    public boolean t(w wVar) {
        return false;
    }
}