I’m trying to implement pickup from hold. This would be where party A puts a call on hold, and party B dials some features code then party A’s extension, thus picking up the call. I can implement a crude version of this using Bridge in feature codes, but as a call gets transferred around it becomes harder to pick which leg to bridge (to the person intercepting the line). Additionally I’m finding it nearly impossibly to determine if a call is on hold.
Has anyone implemented this? How did you determine if a channel was on hold? How did you manage wether to bridge the channel or the bridged channel?