PJSIP extension with 2 contacts; parked call returns to wrong device after timeout

There is enough info herein to file a fix/feature request to have park return properly support multiple pjsip contacts.

1 Like

Done: https://issues.freepbx.org/browse/FREEPBX-20576

IMO, it is definitely a bug, not a feature request, but I can see others thinking about it differently.

PJSIP supports multiple AOR. Anything that sends a call to the extension should send it to all the AOR. Obviously, it (park return) was something simply not thought about with the implementation of PJSIP.

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

@jcolp I submitted a pull request to fix this (link in ticket) based on this logic I found in [ext-local-confirm]. Similar logic was also used [macro-dial-one]

[ext-local-confirm]
include => ext-local-confirm-custom
exten => _LC-.,1,Noop([TRACE](3) IN ext-local-confirm with - RT: ${RT}, RG_IDX: ${RG_IDX})
exten => _LC-.,n,ExecIf($["${DIRECTION}" = "INBOUND"]?Set(DIAL_OPTIONS=${STRREPLACE(DIAL_OPTIONS,T)}))
exten => _LC-.,n,Set(THISDIAL=${DB(DEVICE/${EXTEN:3}/dial)})
exten => _LC-.,n,GotoIf($["${THISDIAL:0:5}"!="PJSIP"]?dial)
exten => _LC-.,n,Noop(Debug: Found PJSIP Destination ${THISDIAL}, updating with PJSIP_DIAL_CONTACTS)
exten => _LC-.,n,Set(THISDIAL=${PJSIP_DIAL_CONTACTS(${EXTEN:3})})
exten => _LC-.,n(dial),Dial(${THISDIAL},${RT},${DIAL_OPTIONS}M(auto-confirm^${RG_IDX})b(func-apply-sipheaders^s^1))

;--== end of [ext-local-confirm] ==--;

If this is the right logic, I’m going to dig into what dialplan FOP2 uses to dial as that is also subject to this.

1 Like

Issue showing as resolved in v15.0.15.1
https://issues.freepbx.org/browse/FREEPBX-20576

1 Like