[asterisk-users] pjsip Hangupcause not working
cio-alves at playerschool.edu
cio-alves at playerschool.edu
Tue Mar 1 16:38:32 CST 2022
I have a hangup handler on an outgoing PJSIP channel that grabs the SIP
status
like this:
NoOp(keys=${HANGUPCAUSE_KEYS()}
sipmsg=${HANGUPCAUSE(${CHANNEL},tech)})
This works fine if the call connects to the other end but the caller for
example hangs up while it's still ringing:
NoOp("PJSIP/custom-000000ab", "keys=PJSIP/custom-000000ab sipmsg=SIP
180 Ringing") in new stack
It also works fine if the call was answered:
NoOp("PJSIP/custom-000000ad",
"keys=PJSIP/custom-000000ad,PJSIP/squiresvi-000000ac sipmsg=SIP 200 OK")
in new stack
But if the remote end returns an error status (eg 404) then I get
nothing:
func_hangupcause.c:140 hangupcause_read: Unable to find information
for channel PJSIP/custom-000000af
-- Executing [sipdirect2 at hangup_handlers_egress:6]
NoOp("PJSIP/custom-000000af", "keys= sipmsg=") in new stack
Any idea whether this is possible? It works fine in our old Asterisk
systems, but on Asterisk 16 with PJSIP I'm getting nowhere with it.
More information about the asterisk-users
mailing list