FreeCalypso > hg > sms-coding-utils
diff libcoding/alpha_addr.c @ 15:5854e48d0ef7
sms-gen-tpdu: add support for alphanumeric user-addr
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 27 Aug 2023 06:43:23 +0000 |
parents | |
children | c8cb05b69118 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libcoding/alpha_addr.c Sun Aug 27 06:43:23 2023 +0000 @@ -0,0 +1,24 @@ +/* + * This library module implements encoding of alphanumeric From addresses + * that are allowed in SMS-DELIVER TPDUs. + */ + +#include <sys/types.h> + +u_char alpha_septets_to_digits[12] = {0, 2, 4, 6, 7, 9, 11, 13, 14, 16, 18, 20}; + +encode_alpha_addr(arg, bin) + char *arg; + u_char *bin; +{ + u_char gsm7[11]; + int rc; + + rc = qstring_arg_to_gsm7(arg, gsm7, 11); + if (rc < 0) + return(rc); + bin[0] = alpha_septets_to_digits[rc]; + bin[1] = 0x50; + gsm7_pack(gsm7, bin + 2, (bin[0] + 1) >> 1); + return(0); +}