summaryrefslogtreecommitdiff
path: root/channels/sig_ss7.c
diff options
context:
space:
mode:
Diffstat (limited to 'channels/sig_ss7.c')
-rw-r--r--channels/sig_ss7.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/channels/sig_ss7.c b/channels/sig_ss7.c
index f00e813a7..540b08e81 100644
--- a/channels/sig_ss7.c
+++ b/channels/sig_ss7.c
@@ -1435,6 +1435,23 @@ int sig_ss7_answer(struct sig_ss7_chan *p, struct ast_channel *ast)
}
/*!
+ * \brief Fix up a channel: If a channel is consumed, this is called. Basically update any ->owner links.
+ * \since 1.8
+ *
+ * \param oldchan Old channel pointer to replace.
+ * \param newchan New channel pointer to set.
+ * \param pchan Signaling private structure pointer.
+ *
+ * \return Nothing
+ */
+void sig_ss7_fixup(struct ast_channel *oldchan, struct ast_channel *newchan, struct sig_ss7_chan *pchan)
+{
+ if (pchan->owner == oldchan) {
+ pchan->owner = newchan;
+ }
+}
+
+/*!
* \brief SS7 answer channel.
* \since 1.8
*