Can I read the SIP INVITE Request-URI in a variable or from a function?

I am now using Asterisk 13 and have implemented PJSIP. Unfortunately, CHANNEL(pjsip,target_uri) does not give me what I need. In fact, it seems to be incorrect, in addition to not being what I need. It appears to give me a portion of either the "From: " or "Contact: " SIP Header.

I would rather not publicly post the entire SIP packet, so I have sanitized my packet; I have replaced a local TN that is the caller id of the calling line with the characters “NPANXXXXXX” and I have changed two IP addresses with “aaa.bbb.ccc.ddd” and “eee.fff.ggg.hhh”, respectively. Here is the SIP packet:

<--- Received SIP request (1100 bytes) from UDP:aaa.bbb.ccc.ddd:5060 --->
INVITE sip:7002015278@10.1.16.117:5060;transport=udp;role=orig SIP/2.0
Via: SIP/2.0/UDP aaa.bbb.ccc.ddd:5060;rport;branch=z9hG4bK-c3fe5f0b107b3ef946ebfe0581a490021-aaa.bbb.ccc.ddd-1
Allow-Events: message-summary, refer, dialog, line-seize, presence, call-info, as-feature-event, calling-name
Call-ID: 0CD09489@aaa.bbb.ccc.ddd
From: <sip:NPANXXXXXX@aaa.bbb.ccc.ddd>;tag=aaa.bbb.ccc.ddd+1+11a9e2a+d0c25f9f;isup-oli=00
To: <sip:7002015278@aaa.bbb.ccc.ddd>
CSeq: 936584710 INVITE
Expires: 180
Organization: Full Service Network
Supported: resource-priority, siprec, 100rel
Content-Length: 140
Content-Type: application/sdp
Allow: INVITE, ACK, CANCEL, BYE, REGISTER, OPTIONS, PRACK, UPDATE, SUBSCRIBE, NOTIFY, REFER, INFO, PUBLISH
Max-Forwards: 69
Contact: <sip:NPANXXXXXX@aaa.bbb.ccc.ddd>;isup-oli=00
Alert-Info: normal
Route: <sip:30c515a@aaa.bbb.ccc.ddd;lr>
P-Charging-Vector: icid-value=30c755d
P-Asserted-Identity: <sip:7002015277@aaa.bbb.ccc.ddd>

v=0
o=- 2976361482 2976361482 IN IP4 eee.fff.ggg.hhh
s=-
c=IN IP4 eee.fff.ggg.hhh
t=0 0
m=audio 23640 RTP/AVP 0
a=ptime:20
a=sendrecv

And when I do the following in extensions.ael:

                NoOP(${CHANNEL(pjsip,target_uri)});
                NoOP(${CHANNEL(pjsip,local_uri)});
                NoOP(${CHANNEL(pjsip,remote_uri)});
                NoOP(${CHANNEL(pjsip,local_addr)});
                NoOP(${CHANNEL(pjsip,remote_uri)});

Then I get:

    -- Executing [7002015278@SOMECONTEXT:6] NoOp("PJSIP/server.domain.tld-0000000c", "sip:NPANXXXXXX@aaa.bbb.ccc.ddd") in new stack
    -- Executing [7002015278@SOMECONTEXT:7] NoOp("PJSIP/server.domain.tld-0000000c", "<sip:7002015278@aaa.bbb.ccc.ddd>") in new stack
    -- Executing [7002015278@SOMECONTEXT:8] NoOp("PJSIP/server.domain.tld-0000000c", "<sip:NPANXXXXXX@aaa.bbb.ccc.ddd>") in new stack
    -- Executing [7002015278@SOMECONTEXT:9] NoOp("PJSIP/server.domain.tld-0000000c", "") in new stack
    -- Executing [7002015278@SOMECONTEXT:10] NoOp("PJSIP/server.domain.tld-0000000c", "<sip:NPANXXXXXX@aaa.bbb.ccc.ddd>") in new stack

Whereas, the information I’m trying to get is the full RURI from the INVITE request:

sip:7002015278@10.1.16.117:5060;transport=udp;role=orig

Do you have any further suggestions on how I might retrieve this info?

I appreciate your help so far, and any help you can provide. Thanks!