The issue happens, I forgot to mention, also in the macro that excutes after the call is connected [May 26 20:08:19] DEBUG[26669][C-00000006]: app_macro.c:439 _macro_exec: Executed application: Verbose [May 26 20:08:19] DEBUG[26446]: res_pjsip_header_funcs.c:269 read_header: There was no datastore from which to read headers. [May 26 20:08:19] DEBUG[26669][C-00000006]: pbx.c:2825 pbx_extension_helper: Launching 'Set' – Executing [s@macro-short:2] Set("PJSIP/ulaw-outbound-0000000d", "SIPCALLID=") in new stack [May 26 20:08:19] DEBUG[26669][C-00000006]: app_macro.c:439 _macro_exec: Executed application: Set [May 26 20:08:19] DEBUG[26669][C-00000006]: pbx.c:2825 pbx_extension_helper: Launching 'Verbose' – Executing [s@macro-short:3] Verbose("PJSIP/ulaw-outbound-0000000d", "0,WE ARE USING ulaw FOR """) in new stack So if we cannot read the header also iside this macro, where can we actually read this information. [macro-short] exten => s,1,Verbose(0,Calls ${GROUP_MATCH_COUNT(.*)} LOWER DID ${ARG1} Done Dialing SIP ID="${CALLID}") ;exten => s,1,MacroExit() ;exten => s,1,Playback(silence/1) exten => s,n,Set(SIPCALLID=${PJSIP_HEADER(read,Call-ID)}) exten => s,n,Verbose(0,WE ARE USING ${SIP_CODEC} FOR "${SIPCALLID}")