summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2009-10-19 14:32:08 +0000
committerJoshua Colp <jcolp@digium.com>2009-10-19 14:32:08 +0000
commitfd9f9ab01e37361c0aca051dfd1c8bd99a989709 (patch)
tree81a1ddb020232284fbd21ec4caada23fffc35737 /channels
parent8f9edddc27919a25d22e2101bcb5793b1663763b (diff)
Add a callback to sig_pri which is called when sig_pri is going to queue a control frame on a channel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@224491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/sig_pri.c4
-rw-r--r--channels/sig_pri.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index 48a55f992..4c11bd044 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -655,6 +655,10 @@ static void pri_queue_control(struct sig_pri_chan *p, int subclass, struct sig_p
{
struct ast_frame f = {AST_FRAME_CONTROL, };
+ if (p->calls->queue_control) {
+ p->calls->queue_control(p->chan_pvt, subclass);
+ }
+
f.subclass = subclass;
pri_queue_frame(p, &f, pri);
}
diff --git a/channels/sig_pri.h b/channels/sig_pri.h
index 41bd53c83..9154d028d 100644
--- a/channels/sig_pri.h
+++ b/channels/sig_pri.h
@@ -75,6 +75,7 @@ struct sig_pri_callback {
void (* const set_callerid)(void *pvt, const struct ast_party_caller *caller);
void (* const set_dnid)(void *pvt, const char *dnid);
void (* const set_rdnis)(void *pvt, const char *rdnis);
+ void (* const queue_control)(void *pvt, int subclass);
};
#define NUM_DCHANS 4 /*!< No more than 4 d-channels */