diff options
author | Joshua Colp <jcolp@digium.com> | 2017-03-07 11:22:18 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2017-03-07 12:08:51 +0000 |
commit | 3ed05badb9f6ce3c3a3848b56c0747334624e0c3 (patch) | |
tree | 91a2893ebefae4fa7b5ccc93d68e9a108b375678 /channels/chan_iax2.c | |
parent | c9296b23d1574332ccbc83f3fc7ba492cfc34cfe (diff) |
core: Add stream topology changing primitives with tests.
This change adds a few things to facilitate stream topology changing:
1. Control frame types have been added for use by the channel driver
to notify the application that the channel wants to change the stream
topology or that a stream topology change has been accepted. They are
also used by the indicate interface to the channel that the application
uses to indicate it wants to do the same.
2. Legacy behavior has been adopted in ast_read() such that if a
channel requests a stream topology change it is denied automatically
and the current stream topology is preserved if the application is
not capable of handling streams.
Tests have also been written which confirm the multistream and
non-multistream behavior.
ASTERISK-26839
Change-Id: Ia68ef22bca8e8457265ca4f0f9de600cbcc10bc9
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index e2f575d04..6d2eda3f0 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -1430,6 +1430,10 @@ static int iax2_is_control_frame_allowed(int subtype) /* Intended only for the sending machine's local channel structure. */ case AST_CONTROL_MASQUERADE_NOTIFY: /* Intended only for masquerades when calling ast_indicate_data(). */ + case AST_CONTROL_STREAM_TOPOLOGY_REQUEST_CHANGE: + /* Intended only for internal stream topology manipulation. */ + case AST_CONTROL_STREAM_TOPOLOGY_CHANGED: + /* Intended only for internal stream topology change notification. */ case AST_CONTROL_STREAM_STOP: case AST_CONTROL_STREAM_SUSPEND: case AST_CONTROL_STREAM_RESTART: |