An according change in the OpoenBSC is following. Since we're changing the external API we should probably increase a lib version as well.
-- Regards, Alexander Chemeris. CEO, Fairwaves, Inc. / ООО УмРадио https://fairwaves.co
From 8cb246244496d1f43ae6912102b83c35963f5efc Mon Sep 17 00:00:00 2001 From: Alexander Chemeris <[email protected]> Date: Sun, 9 Mar 2014 01:33:28 +0100 Subject: [PATCH] sms: Rename gsm340_gen_oa() to gsm340_gen_address_field(). According to 03.40 9.1.2.5 Address fields, this function generates different types of addresses and not only originating addresses. --- include/osmocom/gsm/gsm0411_utils.h | 2 +- src/gsm/gsm0411_utils.c | 2 +- src/gsm/libosmogsm.map | 2 +- tests/sms/sms_test.c | 16 ++++++++-------- tests/sms/sms_test.ok | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/osmocom/gsm/gsm0411_utils.h b/include/osmocom/gsm/gsm0411_utils.h index cad3625..dec6b8d 100644 --- a/include/osmocom/gsm/gsm0411_utils.h +++ b/include/osmocom/gsm/gsm0411_utils.h @@ -27,7 +27,7 @@ time_t gsm340_validity_period(time_t now, uint8_t sms_vpf, uint8_t *sms_vp); enum sms_alphabet gsm338_get_sms_alphabet(uint8_t dcs); /* generate a TPDU address field compliant with 03.40 sec. 9.1.2.5 */ -int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type, +int gsm340_gen_address_field(uint8_t *oa, unsigned int oa_len, uint8_t type, uint8_t plan, const char *number); /* Prefix msg with a RP header */ diff --git a/src/gsm/gsm0411_utils.c b/src/gsm/gsm0411_utils.c index 12f45d6..d1607c9 100644 --- a/src/gsm/gsm0411_utils.c +++ b/src/gsm/gsm0411_utils.c @@ -275,7 +275,7 @@ enum sms_alphabet gsm338_get_sms_alphabet(uint8_t dcs) } /* generate a TPDU address field compliant with 03.40 sec. 9.1.2.5 */ -int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type, +int gsm340_gen_address_field(uint8_t *oa, unsigned int oa_len, uint8_t type, uint8_t plan, const char *number) { int len_in_bytes; diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 9d15d66..da9eed1 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -62,7 +62,7 @@ gsm0808_prepend_dtap_header; gsm338_get_sms_alphabet; -gsm340_gen_oa; +gsm340_gen_address_field; gsm340_gen_scts; gsm340_scts; gsm340_validity_period; diff --git a/tests/sms/sms_test.c b/tests/sms/sms_test.c index 6681ba0..7414d16 100644 --- a/tests/sms/sms_test.c +++ b/tests/sms/sms_test.c @@ -233,37 +233,37 @@ static void test_octet_return() printf("Done\n"); } -static void test_gen_oa(void) +static void test_gsm340_gen_address_field(void) { uint8_t oa[12]; int len; - printf("Testing gsm340_gen_oa\n"); + printf("Testing gsm340_gen_address_field\n"); /* first try... */ - len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_UNKNOWN, + len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_UNKNOWN, GSM340_PLAN_ISDN, "12345678901234567891"); OSMO_ASSERT(len == 12); printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len)); - len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_NATIONAL, + len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_NATIONAL, GSM340_PLAN_ISDN, "12345678901234567891"); OSMO_ASSERT(len == 12); printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len)); /* long input.. will fail and just prints the header*/ - len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_INTERNATIONAL, + len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_INTERNATIONAL, GSM340_PLAN_ISDN, "123456789123456789120"); OSMO_ASSERT(len == 2); printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len)); /* try the alpha numeric encoding */ - len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_ALPHA_NUMERIC, + len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_ALPHA_NUMERIC, GSM340_PLAN_UNKNOWN, "OpenBSC"); OSMO_ASSERT(len == 9); printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len)); /* long alpha numeric text */ - len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_ALPHA_NUMERIC, + len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_ALPHA_NUMERIC, GSM340_PLAN_UNKNOWN, "OpenBSCabcdefghijklm"); OSMO_ASSERT(len == 12); printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len)); @@ -541,7 +541,7 @@ int main(int argc, char** argv) } test_octet_return(); - test_gen_oa(); + test_gsm340_gen_address_field(); test_validity_period(); printf("OK\n"); diff --git a/tests/sms/sms_test.ok b/tests/sms/sms_test.ok index 5ff3e0b..77b22ec 100644 --- a/tests/sms/sms_test.ok +++ b/tests/sms/sms_test.ok @@ -20,7 +20,7 @@ Decode case 5: return value 40 (expected 40) Encoding some tests and printing number of septets/octets SEPTETS: 8 OCTETS: 7 Done -Testing gsm340_gen_oa +Testing gsm340_gen_address_field Result: len(12) data(14 81 21 43 65 87 09 21 43 65 87 19 ) Result: len(12) data(14 a1 21 43 65 87 09 21 43 65 87 19 ) Result: len(2) data(00 91 ) -- 1.7.9.5
