mirror of https://gerrit.osmocom.org/libosmocore
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.
This commit is contained in:
parent
b9a9418b66
commit
a489ac2d81
|
@ -32,6 +32,8 @@ 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,
|
||||
uint8_t plan, const char *number) OSMO_DEPRECATED("Use gsm340_gen_address_field() instead");
|
||||
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 */
|
||||
|
|
|
@ -285,7 +285,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;
|
||||
|
@ -314,6 +314,13 @@ int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type,
|
|||
return len_in_bytes;
|
||||
}
|
||||
|
||||
/* DEPRECATED: use gsm340_gen_address_field() instead */
|
||||
int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type,
|
||||
uint8_t plan, const char *number)
|
||||
{
|
||||
return gsm340_gen_address_field(oa, oa_len, type, plan, number);
|
||||
}
|
||||
|
||||
/* Prefix msg with a RP header */
|
||||
int gsm411_push_rp_header(struct msgb *msg, uint8_t rp_msg_type,
|
||||
uint8_t rp_msg_ref)
|
||||
|
|
|
@ -63,6 +63,7 @@ gsm0808_prepend_dtap_header;
|
|||
gsm338_get_sms_alphabet;
|
||||
|
||||
gsm340_gen_oa;
|
||||
gsm340_gen_address_field;
|
||||
gsm340_gen_scts;
|
||||
gsm340_scts;
|
||||
gsm340_validity_period;
|
||||
|
|
|
@ -234,37 +234,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));
|
||||
|
@ -542,7 +542,7 @@ int main(int argc, char** argv)
|
|||
}
|
||||
|
||||
test_octet_return();
|
||||
test_gen_oa();
|
||||
test_gsm340_gen_address_field();
|
||||
test_validity_period();
|
||||
|
||||
printf("OK\n");
|
||||
|
|
|
@ -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 )
|
||||
|
|
Loading…
Reference in New Issue