Encountered A Crash, What Is Best Way To Tell If It Has Been Fixed Or Now
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=
#4 0x000055e7c09218c0 in internal_ao2_traverse (self=self@entry=0x7f774014cc18, flags=flags@entry=OBJ_SEARCH_NONE, cb_fn=cb_fn@entry=0x7f7738019640
file=file@entry=0x7f773801b009 “res_pjsip_nat.c”, line=
#5 0x000055e7c0921d79 in __ao2_callback (c=c@entry=0x7f774014cc18, flags=flags@entry=OBJ_SEARCH_NONE, cb_fn=cb_fn@entry=0x7f7738019640
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.