[Asterisk-code-review] chan sip: Reload peer without its old capabilities. (asterisk[master])

Alexander Traud asteriskteam at digium.com
Mon Jun 22 09:50:34 CDT 2015


Alexander Traud has uploaded a new change for review.

  https://gerrit.asterisk.org/680

Change subject: chan_sip: Reload peer without its old capabilities.
......................................................................

chan_sip: Reload peer without its old capabilities.

On reload, previously allowed codecs were not removed. Therefore, it was not
possible to remove codecs while Asterisk was running. Furthermore, newly added
codecs got appended behind the previous codecs. Therefore, it was not possible
to add a codec with a priority of #1. This change removes the old capabilities
before the current ones are added.

ASTERISK-25182 #close
Reported by: Alexander Traud
patches:
 asterisk_13_allow_codec_reload.patch uploaded by Alexander Traud (License 6520)

Change-Id: I62a06bcf15e08e8c54a35612195f97179ebe5802
---
M channels/chan_sip.c
1 file changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/80/680/1

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b29bcdc..96609d2 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -30406,8 +30406,11 @@
 		if (!ast_sockaddr_isnull(&peer->addr)) {
 			ao2_t_unlink(peers_by_ip, peer, "ao2_unlink peer from peers_by_ip table");
 		}
-		if (!(peer->the_mark))
+		if (!(peer->the_mark)) {
 			firstpass = 0;
+		} else {
+			ast_format_cap_remove_by_type(peer->caps, AST_MEDIA_TYPE_UNKNOWN);
+		}
 	} else {
 		if (!(peer = ao2_t_alloc(sizeof(*peer), sip_destroy_peer_fn, "allocate a peer struct"))) {
 			return NULL;

-- 
To view, visit https://gerrit.asterisk.org/680
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I62a06bcf15e08e8c54a35612195f97179ebe5802
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Alexander Traud <pabstraud at compuserve.com>



More information about the asterisk-code-review mailing list