Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35544?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: ASCI: Correctly confirm talker, so originator can be identified
......................................................................
ASCI: Correctly confirm talker, so originator can be identified
Fix the issue that MSC rejects call termination, because talker can't
be identified as originator of the call.
Fixes: OS#6325
Change-Id: I0381e25e15624e6b7577910c95700a355ed3f811
---
M msc/MSC_Tests_ASCI.ttcn
1 file changed, 19 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/35544/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35544?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I0381e25e15624e6b7577910c95700a355ed3f811
Gerrit-Change-Number: 35544
Gerrit-PatchSet: 2
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: newpatchset
jolly has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35544?usp=email )
Change subject: ASCI: Correctly confirm talker, so originator can be identified
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
Ok, I forgot to split the patches.
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35544?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I0381e25e15624e6b7577910c95700a355ed3f811
Gerrit-Change-Number: 35544
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Comment-Date: Wed, 10 Jan 2024 12:19:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/35421?usp=email )
Change subject: client SDP: more verbose error logging
......................................................................
client SDP: more verbose error logging
So far it was pure guess work to find out why a message fails.
Change-Id: Ibc6343db82281789004c140ba98d99e5f6f73d83
---
M src/libosmo-mgcp-client/mgcp_client.c
1 file changed, 27 insertions(+), 5 deletions(-)
Approvals:
dexter: Looks good to me, but someone else must approve
Jenkins Builder: Verified
neels: Looks good to me, approved
laforge: Looks good to me, but someone else must approve
diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index 8df65cd..489ce69 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -329,20 +329,31 @@
errno = 0;
pt = strtoul(pt_str, &pt_end, 0);
if ((errno == ERANGE && pt == ULONG_MAX) || (errno && !pt) ||
- pt_str == pt_end)
+ pt_str == pt_end) {
+ LOGP(DLMGCP, LOGL_ERROR, "SDP: cannot parse payload type number from '%s'\n", pt_str);
goto response_parse_failure_pt;
+ }
- if (pt >> 7) /* PT is 7 bit field, higher values not allowed */
+ /* PT is 7 bit field, higher values not allowed */
+ if (pt >> 7) {
+ LOGP(DLMGCP, LOGL_ERROR, "SDP: payload type number out of range: %lu > 127\n", pt);
goto response_parse_failure_pt;
+ }
/* Do not allow duplicate payload types */
- for (i = 0; i < ptmap_len; i++)
- if (r->ptmap[i].pt == pt)
+ for (i = 0; i < ptmap_len; i++) {
+ if (r->ptmap[i].pt == pt) {
+ LOGP(DLMGCP, LOGL_ERROR, "SDP: payload type number %lu listed twice\n", pt);
goto response_parse_failure_pt;
+ }
+ }
/* Do not allow excessive payload types */
- if (ptmap_len >= ARRAY_SIZE(r->ptmap))
+ if (ptmap_len >= ARRAY_SIZE(r->ptmap)) {
+ LOGP(DLMGCP, LOGL_ERROR,
+ "SDP: can parse only up to %zu payload type numbers\n", ARRAY_SIZE(r->ptmap));
goto response_parse_failure_pt;
+ }
/* Some payload type numbers imply a specific codec. For those, using the PT number as enum mgcp_codecs
* yields the correct result. If no more specific information on the codec follows in "a=rtpmap:N"
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/35421?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: Ibc6343db82281789004c140ba98d99e5f6f73d83
Gerrit-Change-Number: 35421
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/35247?usp=email )
Change subject: drop (now) unused code
......................................................................
drop (now) unused code
Removing the duality of codecs[] and ptmap[] in structs mgcp_msg,
mgcp_response and mgcp_conn_peer has removed the need to "map" from
codec type enum to payload type number. They are stored together now.
Remove functions that are no longer used.
None of our osmocom users of libosmo-mgcp-client call these functions.
Change-Id: I84e5285831397c992af59deee12dea8458d16cc6
---
M TODO-RELEASE
M include/osmocom/mgcp_client/mgcp_client.h
M src/libosmo-mgcp-client/mgcp_client.c
M tests/mgcp_client/mgcp_client_test.c
M tests/mgcp_client/mgcp_client_test.err
M tests/mgcp_client/mgcp_client_test.ok
6 files changed, 21 insertions(+), 177 deletions(-)
Approvals:
Jenkins Builder: Verified
neels: Looks good to me, approved
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 964ffe1..f1a702f 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -38,3 +38,8 @@
libosmo-mgcp-client deprecate public API New code should no longer use codecs[], instead use ptmap[].codec. There
is backwards compat code that moves codecs[] entries, if any, over to
ptmap[], so callers may migrate at own leisure.
+libosmo-mgcp-client remove public API Since codecs[] has been deprecated in favor of ptmap[], there is no use
+ for the following functions; all known callers have been within
+ osmo-mgw.git:
+ map_codec_to_pt()
+ map_pt_to_codec()
diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h
index 1d33690..e1748a6 100644
--- a/include/osmocom/mgcp_client/mgcp_client.h
+++ b/include/osmocom/mgcp_client/mgcp_client.h
@@ -119,9 +119,5 @@
}
enum mgcp_codecs map_str_to_codec(const char *str);
-unsigned int map_codec_to_pt(const struct ptmap *ptmap, unsigned int ptmap_len,
- enum mgcp_codecs codec);
-enum mgcp_codecs map_pt_to_codec(struct ptmap *ptmap, unsigned int ptmap_len,
- unsigned int pt);
const char *mgcp_client_name(const struct mgcp_client *mgcp);
diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index 489ce69..bfe69e6 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -105,94 +105,6 @@
return -1;
}
-/* Check the ptmap for illegal mappings */
-static int check_ptmap(const struct ptmap *ptmap)
-{
- /* Check if there are mappings that leave the IANA assigned dynamic
- * payload type range. Under normal conditions such mappings should
- * not occur */
-
- /* Its ok to have a 1:1 mapping in the statically defined
- * range, this won't hurt */
- if (ptmap->codec == ptmap->pt)
- return 0;
-
- if (ptmap->codec < 96 || ptmap->codec > 127)
- goto error;
- if (ptmap->pt < 96 || ptmap->pt > 127)
- goto error;
-
- return 0;
-error:
- LOGP(DLMGCP, LOGL_ERROR,
- "ptmap contains illegal mapping: codec=%u maps to pt=%u\n",
- ptmap->codec, ptmap->pt);
- return -1;
-}
-
-/*! Map a codec to a payload type.
- * \ptmap[in] payload pointer to payload type map with specified payload types.
- * \ptmap[in] ptmap_len length of the payload type map.
- * \ptmap[in] codec the codec for which the payload type should be looked up.
- * \returns assigned payload type */
-unsigned int map_codec_to_pt(const struct ptmap *ptmap, unsigned int ptmap_len,
- enum mgcp_codecs codec)
-{
- unsigned int i;
-
- /*! Note: If the payload type map is empty or the codec is not found
- * in the map, then a 1:1 mapping is performed. If the codec falls
- * into the statically defined range or if the mapping table isself
- * tries to map to the statically defined range, then the mapping
- * is also ignored and a 1:1 mapping is performed instead. */
-
- /* we may return the codec directly since enum mgcp_codecs directly
- * corresponds to the statically assigned payload types */
- if (codec < 96 || codec > 127)
- return codec;
-
- for (i = 0; i < ptmap_len; i++) {
- /* Skip illegal map entries */
- if (check_ptmap(ptmap) == 0 && ptmap->codec == codec)
- return ptmap->pt;
- ptmap++;
- }
-
- /* If nothing is found, do not perform any mapping */
- return codec;
-}
-
-/*! Map a payload type to a codec.
- * \ptmap[in] payload pointer to payload type map with specified payload types.
- * \ptmap[in] ptmap_len length of the payload type map.
- * \ptmap[in] payload type for which the codec should be looked up.
- * \returns codec that corresponds to the specified payload type */
-enum mgcp_codecs map_pt_to_codec(struct ptmap *ptmap, unsigned int ptmap_len,
- unsigned int pt)
-{
- unsigned int i;
-
- /*! Note: If the payload type map is empty or the payload type is not
- * found in the map, then a 1:1 mapping is performed. If the payload
- * type falls into the statically defined range or if the mapping
- * table isself tries to map to the statically defined range, then
- * the mapping is also ignored and a 1:1 mapping is performed
- * instead. */
-
- /* See also note in map_codec_to_pt() */
- if (pt < 96 || pt > 127)
- return pt;
-
- for (i = 0; i < ptmap_len; i++) {
- if (check_ptmap(ptmap) == 0 && ptmap->pt == pt)
- return ptmap->codec;
- ptmap++;
- }
-
- /* If nothing is found, do not perform any mapping */
- return pt;
-}
-
static void _mgcp_client_conf_init(struct mgcp_client_conf *conf)
{
/* NULL and -1 default to MGCP_CLIENT_*_DEFAULT values */
diff --git a/tests/mgcp_client/mgcp_client_test.c b/tests/mgcp_client/mgcp_client_test.c
index 9b356c3..95a742f 100644
--- a/tests/mgcp_client/mgcp_client_test.c
+++ b/tests/mgcp_client/mgcp_client_test.c
@@ -571,57 +571,6 @@
OSMO_ASSERT(map_str_to_codec("AMR-WB####################################################################################################################") == -1);
}
-static void test_map_codec_to_pt_and_map_pt_to_codec(void)
-{
- struct ptmap ptmap[10];
- unsigned int ptmap_len;
- unsigned int i;
-
- ptmap[0].codec = CODEC_GSMEFR_8000_1;
- ptmap[0].pt = 96;
- ptmap[1].codec = CODEC_GSMHR_8000_1;
- ptmap[1].pt = 97;
- ptmap[2].codec = CODEC_AMR_8000_1;
- ptmap[2].pt = 98;
- ptmap[3].codec = CODEC_AMRWB_16000_1;
- ptmap[3].pt = 99;
- ptmap_len = 4;
-
- /* Mappings that are covered by the table */
- for (i = 0; i < ptmap_len; i++)
- printf(" %u => %u\n", ptmap[i].codec, map_codec_to_pt(ptmap, ptmap_len, ptmap[i].codec));
- for (i = 0; i < ptmap_len; i++)
- printf(" %u <= %u\n", ptmap[i].pt, map_pt_to_codec(ptmap, ptmap_len, ptmap[i].pt));
- printf("\n");
-
- /* Map some codecs/payload types from the static range, result must
- * always be a 1:1 mapping */
- printf(" %u => %u\n", CODEC_PCMU_8000_1, map_codec_to_pt(ptmap, ptmap_len, CODEC_PCMU_8000_1));
- printf(" %u => %u\n", CODEC_GSM_8000_1, map_codec_to_pt(ptmap, ptmap_len, CODEC_GSM_8000_1));
- printf(" %u => %u\n", CODEC_PCMA_8000_1, map_codec_to_pt(ptmap, ptmap_len, CODEC_PCMA_8000_1));
- printf(" %u => %u\n", CODEC_G729_8000_1, map_codec_to_pt(ptmap, ptmap_len, CODEC_G729_8000_1));
- printf(" %u <= %u\n", CODEC_PCMU_8000_1, map_pt_to_codec(ptmap, ptmap_len, CODEC_PCMU_8000_1));
- printf(" %u <= %u\n", CODEC_GSM_8000_1, map_pt_to_codec(ptmap, ptmap_len, CODEC_GSM_8000_1));
- printf(" %u <= %u\n", CODEC_PCMA_8000_1, map_pt_to_codec(ptmap, ptmap_len, CODEC_PCMA_8000_1));
- printf(" %u <= %u\n", CODEC_G729_8000_1, map_pt_to_codec(ptmap, ptmap_len, CODEC_G729_8000_1));
- printf("\n");
-
- /* Try to do mappings from statically defined range to danymic range and vice versa. This
- * is illegal and should result into a 1:1 mapping */
- ptmap[3].codec = CODEC_AMRWB_16000_1;
- ptmap[3].pt = 2;
- ptmap[4].codec = CODEC_PCMU_8000_1;
- ptmap[4].pt = 100;
- ptmap_len = 5;
-
- /* Apply all mappings again, the illegal ones we defined should result into 1:1 mappings */
- for (i = 0; i < ptmap_len; i++)
- printf(" %u => %u\n", ptmap[i].codec, map_codec_to_pt(ptmap, ptmap_len, ptmap[i].codec));
- for (i = 0; i < ptmap_len; i++)
- printf(" %u <= %u\n", ptmap[i].pt, map_pt_to_codec(ptmap, ptmap_len, ptmap[i].pt));
- printf("\n");
-}
-
void test_mgcp_client_e1_epname(void)
{
char *epname;
@@ -908,7 +857,6 @@
test_mgcp_msg();
test_mgcp_client_cancel();
test_sdp_section_start();
- test_map_codec_to_pt_and_map_pt_to_codec();
test_map_str_to_codec();
test_mgcp_client_e1_epname();
diff --git a/tests/mgcp_client/mgcp_client_test.err b/tests/mgcp_client/mgcp_client_test.err
index 94fe351..9e98792 100644
--- a/tests/mgcp_client/mgcp_client_test.err
+++ b/tests/mgcp_client/mgcp_client_test.err
@@ -128,10 +128,6 @@
body: "some mgcp header data\r\nand header params\r\n\r\nc=IN IP4 \r\n"
DLMGCP Failed to parse MGCP response header (audio ip)
got rc=-22
-DLMGCP ptmap contains illegal mapping: codec=113 maps to pt=2
-DLMGCP ptmap contains illegal mapping: codec=0 maps to pt=100
-DLMGCP ptmap contains illegal mapping: codec=113 maps to pt=2
-DLMGCP ptmap contains illegal mapping: codec=0 maps to pt=100
DLMGCP MGW(mgw) MGCP client: using endpoint domain '@mgw'
DLMGCP MGW(mgw) Cannot compose MGCP e1-endpoint name (ds/e1-15/s-1/su128-0@mgw), rate(128)/offset(0) combination is invalid!
DLMGCP MGW(mgw) Cannot compose MGCP e1-endpoint name (ds/e1-15/s-1/su8-16@mgw), rate(8)/offset(16) combination is invalid!
diff --git a/tests/mgcp_client/mgcp_client_test.ok b/tests/mgcp_client/mgcp_client_test.ok
index 039fbd9..b16d1bc 100644
--- a/tests/mgcp_client/mgcp_client_test.ok
+++ b/tests/mgcp_client/mgcp_client_test.ok
@@ -181,35 +181,6 @@
test_sdp_section_start() test [17]:
test_sdp_section_start() test [18]:
- 110 => 96
- 111 => 97
- 112 => 98
- 113 => 99
- 96 <= 110
- 97 <= 111
- 98 <= 112
- 99 <= 113
-
- 0 => 0
- 3 => 3
- 8 => 8
- 18 => 18
- 0 <= 0
- 3 <= 3
- 8 <= 8
- 18 <= 18
-
- 110 => 96
- 111 => 97
- 112 => 98
- 113 => 113
- 0 => 0
- 96 <= 110
- 97 <= 111
- 98 <= 112
- 2 <= 2
- 100 <= 100
-
ds/e1-1/s-15/su64-0@mgw
ds/e1-2/s-14/su32-0@mgw
ds/e1-3/s-13/su32-4@mgw
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/35247?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I84e5285831397c992af59deee12dea8458d16cc6
Gerrit-Change-Number: 35247
Gerrit-PatchSet: 6
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged