Encountered A Crash, What Is Best Way To Tell If It Has Been Fixed Or Now

Home » Asterisk Users » Encountered A Crash, What Is Best Way To Tell If It Has Been Fixed Or Now
Asterisk Users 4 Comments

I have a customer who just encountered a crash while running Asterisk 18.17.1 version.

I’m trying to adapt to the changes so not sure where best to look or how to possibly report this.

I started by going through https://github.com/asterisk/asterisk/compare/18.17.1…18.19.0 to see if any of the changes seemed to apply to code reported by the backtrace.

Entirely possible I missed something, but I didn’t notice anything that applies.

I do see a commit was done today to the res_pjsip_nat.c file, but not sure if that would apply to the issue.

Any suggestions for where I should look or ask?

(gdb) bt
#0 0x000055e7c091ed95 in __ao2_ref (user_data=user_data@entry=0x1, delta=delta@entry=1, tag=tag@entry=0x0, file=file@entry=0x7f773800e012 “res_pjsip_session.c”, line=line@entry=3639,
func=func@entry=0x7f7738011d20 <__PRETTY_FUNCTION__.38105> “ast_sip_dialog_get_session”) at astobj2.c:501
#1 0x00007f773800a0da in ast_sip_dialog_get_session (dlg=dlg@entry=0x7f777415de48) at res_pjsip_session.c:3639
#2 0x00007f773800d3e7 in session_outgoing_nat_hook (tdata=0x7f773c633ac8, transport=0x7f7754082048) at res_pjsip_session.c:5567
#3 0x00007f773801965d in nat_invoke_hook (obj=, arg=arg@entry=0x7f772c1a0a50, flags=flags@entry=0) at res_pjsip_nat.c:299
#4 0x000055e7c09218c0 in internal_ao2_traverse (self=self@entry=0x7f774014cc18, flags=flags@entry=OBJ_SEARCH_NONE, cb_fn=cb_fn@entry=0x7f7738019640 , arg=arg@entry=0x7f772c1a0a50, tag=tag@entry=0x0,
file=file@entry=0x7f773801b009 “res_pjsip_nat.c”, line=, func=, type=AO2_CALLBACK_DEFAULT, data=0x0) at astobj2_container.c:328
#5 0x000055e7c0921d79 in __ao2_callback (c=c@entry=0x7f774014cc18, flags=flags@entry=OBJ_SEARCH_NONE, cb_fn=cb_fn@entry=0x7f7738019640 , arg=arg@entry=0x7f772c1a0a50, tag=tag@entry=0x0,
file=file@entry=0x7f773801b009 “res_pjsip_nat.c”, line=470, func=0x7f773801b4b8 <__PRETTY_FUNCTION__.29250> “process_nat”) at astobj2_container.c:414
#6 0x00007f7738019ddf in process_nat (tdata=0x7f773c633ac8) at res_pjsip_nat.c:470
#7 nat_on_tx_message (tdata=0x7f773c633ac8) at res_pjsip_nat.c:479
#8 0x00007f777bc6fc66 in ?? ()
#9 0x00007f777bc71610 in ?? ()
#10 0x00007f773c633ac8 in ?? ()
#11 0x000055e7c1ac7708 in ?? ()
#12 0x00007f777bc77c69 in ?? ()
#13 0x0000000000000000 in ?? ()

Have a good day!
Dan

4 thoughts on - Encountered A Crash, What Is Best Way To Tell If It Has Been Fixed Or Now

  • That is how you generally look, by seeing the commits between the two versions, analyzing, and seeing if anything is relevant.

    Issues themselves are reported on Github. I can say already though that the backtrace is incomplete and doesn’t show the full story of what happened, it may be optimized or something.

  • VGhhbmsgeW91IEpvc2h1YS4NCg0KDQpGcm9tOiBhc3Rlcmlzay11c2VycyA8YXN0ZXJpc2stdXNl cnMtYm91bmNlc0BsaXN0cy5kaWdpdW0uY29tPiBPbiBCZWhhbGYgT2YgSm9zaHVhIEMuIENvbHAN
    ClNlbnQ6IFdlZG5lc2RheSwgQXVndXN0IDksIDIwMjMgMTozMSBQTQ0KVG86IEFzdGVyaXNrIFVz ZXJzIE1haWxpbmcgTGlzdCAtIE5vbi1Db21tZXJjaWFsIERpc2N1c3Npb24gPGFzdGVyaXNrLXVz ZXJzQGxpc3RzLmRpZ2l1bS5jb20+DQpTdWJqZWN0OiBSZTogW0V4dGVybmFsXSBbYXN0ZXJpc2st dXNlcnNdIEVuY291bnRlcmVkIGEgY3Jhc2gsIHdoYXQgaXMgYmVzdCB3YXkgdG8gdGVsbCBpZiBp dCBoYXMgYmVlbiBmaXhlZCBvciBub3cNCg0KT24gV2VkLCBBdWcgOSwgMjAyMyBhdCAzOjIw4oCv UE0gRGFuIENyb3BwIDxkY3JvcHBAYW10ZWxjby5jb208bWFpbHRvOmRjcm9wcEBhbXRlbGNvLmNv bT4+IHdyb3RlOg0KSSBoYXZlIGEgY3VzdG9tZXIgd2hvIGp1c3QgZW5jb3VudGVyZWQgYSBjcmFz aCB3aGlsZSBydW5uaW5nIEFzdGVyaXNrIDE4LjE3LjEgdmVyc2lvbi4NCg0KSeKAmW0gdHJ5aW5n IHRvIGFkYXB0IHRvIHRoZSBjaGFuZ2VzIHNvIG5vdCBzdXJlIHdoZXJlIGJlc3QgdG8gbG9vayBv ciBob3cgdG8gcG9zc2libHkgcmVwb3J0IHRoaXMuDQoNCkkgc3RhcnRlZCBieSBnb2luZyB0aHJv dWdoIGh0dHBzOi8vZ2l0aHViLmNvbS9hc3Rlcmlzay9hc3Rlcmlzay9jb21wYXJlLzE4LjE3LjEu Li4xOC4xOS4wIHRvIHNlZSBpZiBhbnkgb2YgdGhlIGNoYW5nZXMgc2VlbWVkIHRvIGFwcGx5IHRv IGNvZGUgcmVwb3J0ZWQgYnkgdGhlIGJhY2t0cmFjZS4NCg0KRW50aXJlbHkgcG9zc2libGUgSSBt aXNzZWQgc29tZXRoaW5nLCBidXQgSSBkaWRu4oCZdCBub3RpY2UgYW55dGhpbmcgdGhhdCBhcHBs aWVzLg0KDQpJIGRvIHNlZSBhIGNvbW1pdCB3YXMgZG9uZSB0b2RheSB0byB0aGUgcmVzX3Bqc2lw X25hdC5jIGZpbGUsIGJ1dCBub3Qgc3VyZSBpZiB0aGF0IHdvdWxkIGFwcGx5IHRvIHRoZSBpc3N1
    ZS4NCg0KQW55IHN1Z2dlc3Rpb25zIGZvciB3aGVyZSBJIHNob3VsZCBsb29rIG9yIGFzaz8NCg0K
    VGhhdCBpcyBob3cgeW91IGdlbmVyYWxseSBsb29rLCBieSBzZWVpbmcgdGhlIGNvbW1pdHMgYmV0
    d2VlbiB0aGUgdHdvIHZlcnNpb25zLCBhbmFseXppbmcsIGFuZCBzZWVpbmcgaWYgYW55dGhpbmcg aXMgcmVsZXZhbnQuDQoNCklzc3VlcyB0aGVtc2VsdmVzIGFyZSByZXBvcnRlZCBvbiBHaXRodWIu IEkgY2FuIHNheSBhbHJlYWR5IHRob3VnaCB0aGF0IHRoZSBiYWNrdHJhY2UgaXMgaW5jb21wbGV0
    ZSBhbmQgZG9lc24ndCBzaG93IHRoZSBmdWxsIHN0b3J5IG9mIHdoYXQgaGFwcGVuZWQsIGl0IG1h eSBiZSBvcHRpbWl6ZWQgb3Igc29tZXRoaW5nLg0KDQotLQ0KSm9zaHVhIEMuIENvbHANCkFzdGVy aXNrIFByb2plY3QgTGVhZA0KU2FuZ29tYSBUZWNobm9sb2dpZXMNCkNoZWNrIHVzIG91dCBhdCB3
    d3cuc2FuZ29tYS5jb208aHR0cDovL3d3dy5zYW5nb21hLmNvbT4gYW5kIHd3dy5hc3Rlcmlzay5v cmc8aHR0cDovL3d3dy5hc3Rlcmlzay5vcmc+DQo

  • SSB3YXMgYWJsZSB0byBwdXQgdGhlIGNyYXNoIHRocm91Z2ggdGhlIGdkYiBvbiB0aGUgb3JpZ2lu YWwgVk0gdGhhdCBlbmNvdW50ZXJlZCB0aGUgcHJvYmxlbS4NCihOb3Qgc3VyZSB3aHkgdGhlIFZN
    IEkgaW5pdGlhbGx5IHRyaWVkIHRvIGFuYWx5emUgdGhlIGNyYXNoIGR1bXAgb24gZGlkbuKAmXQg ZG8gdGhpcyBjb3JyZWN0bHksIGJ1dCBub3QgY29uY2VybmVkIGFib3V0IGl0IG5vdykuDQoNCkl0
    4oCZcyBwcm92aWRpbmcgYWRkaXRpb25hbCBkZXRhaWxzLg0KDQpXb3VsZCB0aGlzIGJlIGNvbnNp ZGVyZWQgYSBiZXR0ZXIgZXhhbXBsZSBvZiB0aGUgY3Jhc2g/DQpJIHdpbGwgZ28gdGhyb3VnaCB0
    aGUgdmVyc2lvbiBjb21wYXJpc29ucyBhbmQgc2VlIGlmIHRoZXJlIGFyZSBhbnkgdXBkYXRlcyBz aW5jZSAxOC4xNy4xIHRvIHNlZSBpZiBJIGNhbiBzcG90IGFueSBmaXhlcyBvciByZWNlbnQgY29t bWl0cy4NCg0KUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRh dGlvbiBmYXVsdC4NCiMwICAweDAwMDA1NWU3YzA5MWVkOTUgaW4gX19hbzJfcmVmICh1c2VyX2Rh dGE9dXNlcl9kYXRhQGVudHJ5PTB4MSwgZGVsdGE9ZGVsdGFAZW50cnk9MSwgdGFnPXRhZ0BlbnRy eT0weDAsIGZpbGU9ZmlsZUBlbnRyeT0weDdmNzczODAwZTAxMiAicmVzX3Bqc2lwX3Nlc3Npb24u YyIsIGxpbmU9bGluZUBlbnRyeT0zNjM5LA0KICAgIGZ1bmM9ZnVuY0BlbnRyeT0weDdmNzczODAx MWQyMCA8X19QUkVUVFlfRlVOQ1RJT05fXy4zODEwNT4gImFzdF9zaXBfZGlhbG9nX2dldF9zZXNz aW9uIikgYXQgYXN0b2JqMi5jOjUwMQ0KNTAxICAgICBhc3RvYmoyLmM6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkuDQpbQ3VycmVudCB0aHJlYWQgaXMgMSAoVGhyZWFkIDB4N2Y3NzJjMWExNzAw IChMV1AgMTI0MTIwKSldDQooZ2RiKSBidA0KIzAgIDB4MDAwMDU1ZTdjMDkxZWQ5NSBpbiBfX2Fv Ml9yZWYgKHVzZXJfZGF0YT11c2VyX2RhdGFAZW50cnk9MHgxLCBkZWx0YT1kZWx0YUBlbnRyeT0x LCB0YWc9dGFnQGVudHJ5PTB4MCwgZmlsZT1maWxlQGVudHJ5PTB4N2Y3NzM4MDBlMDEyICJyZXNf cGpzaXBfc2Vzc2lvbi5jIiwgbGluZT1saW5lQGVudHJ5PTM2MzksDQogICAgZnVuYz1mdW5jQGVu dHJ5PTB4N2Y3NzM4MDExZDIwIDxfX1BSRVRUWV9GVU5DVElPTl9fLjM4MTA1PiAiYXN0X3NpcF9k aWFsb2dfZ2V0X3Nlc3Npb24iKSBhdCBhc3RvYmoyLmM6NTAxDQojMSAgMHgwMDAwN2Y3NzM4MDBh MGRhIGluIGFzdF9zaXBfZGlhbG9nX2dldF9zZXNzaW9uIChkbGc9ZGxnQGVudHJ5PTB4N2Y3Nzc0
    MTVkZTQ4KSBhdCByZXNfcGpzaXBfc2Vzc2lvbi5jOjM2MzkNCiMyICAweDAwMDA3Zjc3MzgwMGQz ZTcgaW4gc2Vzc2lvbl9vdXRnb2luZ19uYXRfaG9vayAodGRhdGE9MHg3Zjc3M2M2MzNhYzgsIHRy YW5zcG9ydD0weDdmNzc1NDA4MjA0OCkgYXQgcmVzX3Bqc2lwX3Nlc3Npb24uYzo1NTY3DQojMyAg MHgwMDAwN2Y3NzM4MDE5NjVkIGluIG5hdF9pbnZva2VfaG9vayAob2JqPTxvcHRpbWl6ZWQgb3V0
    PiwgYXJnPWFyZ0BlbnRyeT0weDdmNzcyYzFhMGE1MCwgZmxhZ3M9ZmxhZ3NAZW50cnk9MCkgYXQg cmVzX3Bqc2lwX25hdC5jOjI5OQ0KIzQgIDB4MDAwMDU1ZTdjMDkyMThjMCBpbiBpbnRlcm5hbF9h bzJfdHJhdmVyc2UgKHNlbGY9c2VsZkBlbnRyeT0weDdmNzc0MDE0Y2MxOCwgZmxhZ3M9ZmxhZ3NA
    ZW50cnk9T0JKX1NFQVJDSF9OT05FLCBjYl9mbj1jYl9mbkBlbnRyeT0weDdmNzczODAxOTY0MCA8
    bmF0X2ludm9rZV9ob29rPiwgYXJnPWFyZ0BlbnRyeT0weDdmNzcyYzFhMGE1MCwgdGFnPXRhZ0Bl bnRyeT0weDAsDQogICAgZmlsZT1maWxlQGVudHJ5PTB4N2Y3NzM4MDFiMDA5ICJyZXNfcGpzaXBf bmF0LmMiLCBsaW5lPTxvcHRpbWl6ZWQgb3V0PiwgZnVuYz08b3B0aW1pemVkIG91dD4sIHR5cGU9
    QU8yX0NBTExCQUNLX0RFRkFVTFQsIGRhdGE9MHgwKSBhdCBhc3RvYmoyX2NvbnRhaW5lci5jOjMy OA0KIzUgIDB4MDAwMDU1ZTdjMDkyMWQ3OSBpbiBfX2FvMl9jYWxsYmFjayAoYz1jQGVudHJ5PTB4
    N2Y3NzQwMTRjYzE4LCBmbGFncz1mbGFnc0BlbnRyeT1PQkpfU0VBUkNIX05PTkUsIGNiX2ZuPWNi X2ZuQGVudHJ5PTB4N2Y3NzM4MDE5NjQwIDxuYXRfaW52b2tlX2hvb2s+LCBhcmc9YXJnQGVudHJ5
    PTB4N2Y3NzJjMWEwYTUwLCB0YWc9dGFnQGVudHJ5PTB4MCwNCiAgICBmaWxlPWZpbGVAZW50cnk9
    MHg3Zjc3MzgwMWIwMDkgInJlc19wanNpcF9uYXQuYyIsIGxpbmU9NDcwLCBmdW5jPTB4N2Y3NzM4
    MDFiNGI4IDxfX1BSRVRUWV9GVU5DVElPTl9fLjI5MjUwPiAicHJvY2Vzc19uYXQiKSBhdCBhc3Rv YmoyX2NvbnRhaW5lci5jOjQxNA0KIzYgIDB4MDAwMDdmNzczODAxOWRkZiBpbiBwcm9jZXNzX25h dCAodGRhdGE9MHg3Zjc3M2M2MzNhYzgpIGF0IHJlc19wanNpcF9uYXQuYzo0NzANCiM3ICBuYXRf b25fdHhfbWVzc2FnZSAodGRhdGE9MHg3Zjc3M2M2MzNhYzgpIGF0IHJlc19wanNpcF9uYXQuYzo0
    NzkNCiM4ICAweDAwMDA3Zjc3N2JjNmZjNjYgaW4gZW5kcHRfb25fdHhfbXNnIChlbmRwdD08b3B0
    aW1pemVkIG91dD4sIHRkYXRhPTB4N2Y3NzNjNjMzYWM4KSBhdCAuLi9zcmMvcGpzaXAvc2lwX2Vu ZHBvaW50LmM6MTExNQ0KIzkgIDB4MDAwMDdmNzc3YmM3N2M2OSBpbiBwanNpcF90cmFuc3BvcnRf c2VuZCAodHI9MHg1NWU3YzFhYzc3MDgsIHRkYXRhPXRkYXRhQGVudHJ5PTB4N2Y3NzNjNjMzYWM4
    LCBhZGRyPWFkZHJAZW50cnk9MHg3Zjc3M2M2MzNjYjgsIGFkZHJfbGVuPWFkZHJfbGVuQGVudHJ5
    PTE2LCB0b2tlbj10b2tlbkBlbnRyeT0weDdmNzczYzYzNTk1MCwNCiAgICBjYj1jYkBlbnRyeT0w eDdmNzc3YmM3MTYxMCA8c3RhdGVsZXNzX3NlbmRfdHJhbnNwb3J0X2NiPikgYXQgLi4vc3JjL3Bq c2lwL3NpcF90cmFuc3BvcnQuYzo5MzUNCiMxMCAweDAwMDA3Zjc3N2JjNzE3ZDkgaW4gc3RhdGVs ZXNzX3NlbmRfdHJhbnNwb3J0X2NiICh0b2tlbj10b2tlbkBlbnRyeT0weDdmNzczYzYzNTk1MCwg dGRhdGE9dGRhdGFAZW50cnk9MHg3Zjc3M2M2MzNhYzgsIHNlbnQ9PG9wdGltaXplZCBvdXQ+LCBz ZW50QGVudHJ5PS03MDAwMikgYXQgLi4vc3JjL3Bqc2lwL3NpcF91dGlsLmM6MTI3Ng0KIzExIDB4
    MDAwMDdmNzc3YmM3MWIzYSBpbiBzdGF0ZWxlc3Nfc2VuZF9yZXNvbHZlcl9jYWxsYmFjayAoc3Rh dHVzPTxvcHRpbWl6ZWQgb3V0PiwgdG9rZW49MHg3Zjc3M2M2MzU5NTAsIGFkZHI9PG9wdGltaXpl ZCBvdXQ+KSBhdCAuLi9zcmMvcGpzaXAvc2lwX3V0aWwuYzoxMzc3DQojMTIgMHgwMDAwN2Y3NzM4
    MGMzMzk4IGluIHNpcF9yZXNvbHZlX2ludm9rZV91c2VyX2NhbGxiYWNrIChkYXRhPTB4N2Y3NzNj NDU2M2M4KSBhdCByZXNfcGpzaXAvcGpzaXBfcmVzb2x2ZXIuYzoyMDYNCiMxMyAweDAwMDA1NWU3
    YzBhNmYwZTMgaW4gYXN0X3Rhc2twcm9jZXNzb3JfZXhlY3V0ZSAodHBzPXRwc0BlbnRyeT0weDdm Nzc1NDE2ZWJjMCkgYXQgdGFza3Byb2Nlc3Nvci5jOjEzMDINCiMxNCAweDAwMDA1NWU3YzBhNzZk MjggaW4gZXhlY3V0ZV90YXNrcyAoZGF0YT0weDdmNzc1NDE2ZWJjMCkgYXQgdGhyZWFkcG9vbC5j OjEzNTINCiMxNSAweDAwMDA1NWU3YzBhNmYwZTMgaW4gYXN0X3Rhc2twcm9jZXNzb3JfZXhlY3V0
    ZSAodHBzPTB4NTVlN2MyNjk3NzIwKSBhdCB0YXNrcHJvY2Vzc29yLmM6MTMwMg0KIzE2IDB4MDAw MDU1ZTdjMGE3NzYwYyBpbiB0aHJlYWRwb29sX2V4ZWN1dGUgKHBvb2w9MHg1NWU3YzI2OWJlMTAp IGF0IHRocmVhZHBvb2wuYzozNjcNCiMxNyB3b3JrZXJfYWN0aXZlICh3b3JrZXI9MHg3Zjc3NzAw MDE3NDApIGF0IHRocmVhZHBvb2wuYzoxMTM3DQojMTggd29ya2VyX3N0YXJ0IChhcmc9YXJnQGVu dHJ5PTB4N2Y3NzcwMDAxNzQwKSBhdCB0aHJlYWRwb29sLmM6MTA1Ng0KIzE5IDB4MDAwMDU1ZTdj MGE3Zjg2OCBpbiBkdW1teV9zdGFydCAoZGF0YT08b3B0aW1pemVkIG91dD4pIGF0IHV0aWxzLmM6
    MTU3NA0KIzIwIDB4MDAwMDdmNzc3YjRiYTYwOSBpbiBzdGFydF90aHJlYWQgKGFyZz08b3B0aW1p emVkIG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3DQojMjEgMHgwMDAwN2Y3NzdiMjNjMTMz IGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5T
    Ojk1DQoNCkRhbg0KDQpGcm9tOiBhc3Rlcmlzay11c2VycyA8YXN0ZXJpc2stdXNlcnMtYm91bmNl c0BsaXN0cy5kaWdpdW0uY29tPiBPbiBCZWhhbGYgT2YgSm9zaHVhIEMuIENvbHANClNlbnQ6IFdl ZG5lc2RheSwgQXVndXN0IDksIDIwMjMgMTozMSBQTQ0KVG86IEFzdGVyaXNrIFVzZXJzIE1haWxp bmcgTGlzdCAtIE5vbi1Db21tZXJjaWFsIERpc2N1c3Npb24gPGFzdGVyaXNrLXVzZXJzQGxpc3Rz LmRpZ2l1bS5jb20+DQpTdWJqZWN0OiBSZTogW0V4dGVybmFsXSBbYXN0ZXJpc2stdXNlcnNdIEVu Y291bnRlcmVkIGEgY3Jhc2gsIHdoYXQgaXMgYmVzdCB3YXkgdG8gdGVsbCBpZiBpdCBoYXMgYmVl biBmaXhlZCBvciBub3cNCg0KT24gV2VkLCBBdWcgOSwgMjAyMyBhdCAzOjIw4oCvUE0gRGFuIENy b3BwIDxkY3JvcHBAYW10ZWxjby5jb208bWFpbHRvOmRjcm9wcEBhbXRlbGNvLmNvbT4+IHdyb3Rl Og0KSSBoYXZlIGEgY3VzdG9tZXIgd2hvIGp1c3QgZW5jb3VudGVyZWQgYSBjcmFzaCB3aGlsZSBy dW5uaW5nIEFzdGVyaXNrIDE4LjE3LjEgdmVyc2lvbi4NCg0KSeKAmW0gdHJ5aW5nIHRvIGFkYXB0
    IHRvIHRoZSBjaGFuZ2VzIHNvIG5vdCBzdXJlIHdoZXJlIGJlc3QgdG8gbG9vayBvciBob3cgdG8g cG9zc2libHkgcmVwb3J0IHRoaXMuDQoNCkkgc3RhcnRlZCBieSBnb2luZyB0aHJvdWdoIGh0dHBz Oi8vZ2l0aHViLmNvbS9hc3Rlcmlzay9hc3Rlcmlzay9jb21wYXJlLzE4LjE3LjEuLi4xOC4xOS4w IHRvIHNlZSBpZiBhbnkgb2YgdGhlIGNoYW5nZXMgc2VlbWVkIHRvIGFwcGx5IHRvIGNvZGUgcmVw b3J0ZWQgYnkgdGhlIGJhY2t0cmFjZS4NCg0KRW50aXJlbHkgcG9zc2libGUgSSBtaXNzZWQgc29t ZXRoaW5nLCBidXQgSSBkaWRu4oCZdCBub3RpY2UgYW55dGhpbmcgdGhhdCBhcHBsaWVzLg0KDQpJ
    IGRvIHNlZSBhIGNvbW1pdCB3YXMgZG9uZSB0b2RheSB0byB0aGUgcmVzX3Bqc2lwX25hdC5jIGZp bGUsIGJ1dCBub3Qgc3VyZSBpZiB0aGF0IHdvdWxkIGFwcGx5IHRvIHRoZSBpc3N1ZS4NCg0KQW55
    IHN1Z2dlc3Rpb25zIGZvciB3aGVyZSBJIHNob3VsZCBsb29rIG9yIGFzaz8NCg0KVGhhdCBpcyBo b3cgeW91IGdlbmVyYWxseSBsb29rLCBieSBzZWVpbmcgdGhlIGNvbW1pdHMgYmV0d2VlbiB0aGUg dHdvIHZlcnNpb25zLCBhbmFseXppbmcsIGFuZCBzZWVpbmcgaWYgYW55dGhpbmcgaXMgcmVsZXZh bnQuDQoNCklzc3VlcyB0aGVtc2VsdmVzIGFyZSByZXBvcnRlZCBvbiBHaXRodWIuIEkgY2FuIHNh eSBhbHJlYWR5IHRob3VnaCB0aGF0IHRoZSBiYWNrdHJhY2UgaXMgaW5jb21wbGV0ZSBhbmQgZG9l c24ndCBzaG93IHRoZSBmdWxsIHN0b3J5IG9mIHdoYXQgaGFwcGVuZWQsIGl0IG1heSBiZSBvcHRp bWl6ZWQgb3Igc29tZXRoaW5nLg0KDQotLQ0KSm9zaHVhIEMuIENvbHANCkFzdGVyaXNrIFByb2pl Y3QgTGVhZA0KU2FuZ29tYSBUZWNobm9sb2dpZXMNCkNoZWNrIHVzIG91dCBhdCB3d3cuc2FuZ29t YS5jb208aHR0cDovL3d3dy5zYW5nb21hLmNvbT4gYW5kIHd3dy5hc3Rlcmlzay5vcmc8aHR0cDov L3d3dy5hc3Rlcmlzay5vcmc+DQo

  • That is closer. There’s still some optimized elements, mostly in PJSIP from what I can tell, but it would be usable probably.