ari/pjsip: Make it possible to control transfers through ARI

Introduce a ChannelTransfer event and the ability to notify progress to
ARI. Implement emitting this event from the PJSIP channel instead of
handling the transfer in Asterisk when configured.

Introduce a dialplan function to the PJSIP channel to switch between the
"core" and "ari-only" behavior.

UserNote: Call transfers on the PJSIP channel can now be controlled by
ARI. This can be enabled by using the PJSIP_TRANSFER_HANDLING(ari-only)
dialplan function.
This commit is contained in:
Holger Hans Peter Freyther
2024-06-15 16:01:58 +08:00
committed by github-actions[bot]
parent 896a488cd5
commit 71eb8a262f
18 changed files with 1462 additions and 6 deletions

View File

@@ -168,4 +168,16 @@ int pjsip_app_hangup(struct ast_channel *chan, const char *data);
*/
int pjsip_action_hangup(struct mansession *s, const struct message *m);
/*!
* \brief PJSIP_TRANSFER_HANDLING function write callback
* \param chan The channel the function is called on
* \param cmd the Name of the function
* \param data Arguments passed to the function
* \param value Value to be set by the function
*
* \retval 0 on success
* \retval -1 on failure
*/
int pjsip_transfer_handling_write(struct ast_channel *chan, const char *cmd, char *data, const char *value);
#endif /* _PJSIP_DIALPLAN_FUNCTIONS */