summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlle Johansson <oej@edvina.net>2007-11-23 09:40:02 +0000
committerOlle Johansson <oej@edvina.net>2007-11-23 09:40:02 +0000
commit38c8755e9aa1e4e80ffc1ced8f4d088c7316225f (patch)
treeffc4d99cbf28935c51d1303adabbcddcd92ff34b
parent2b93af99dcc88d2d4a657df0b263fecb74be1a78 (diff)
Let's start with implementing the base architecture for UTF8 caller ID's
so we can handle multiple formats properly. This is not carved in stone, but a proposal to start with. We need to add support for transliterations as well as UTF8 handling, propably with libiconv. Murf is looking into that for the dialplan. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--include/asterisk/channel.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index 40a2f3a42..812c01a43 100644
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -203,13 +203,29 @@ struct ast_datastore {
* \note All string fields here are malloc'ed, so they need to be
* freed when the structure is deleted.
* Also, NULL and "" must be considered equivalent.
+ *
+ * SIP and IAX2 has utf8 encoded Unicode caller ID names.
+ * In some cases, we also have an alternative (RPID) E.164 number that can be used
+ * as caller ID on numeric E.164 phone networks (zaptel or SIP/IAX2 to pstn gateway).
+
+ * SIP and IAX2 will prefer the cid_utf8 if it exists, otherwise use the cid_name.
+ * \todo Implement this in chan_sip.c and chan_iax2.c
+ *
+ * \todo Implement settings for transliteration between UTF8 caller ID names in
+ * to Ascii Caller ID's (Zaptel). Östen Åsklund might be transliterated into
+ * Osten Asklund or Oesten Aasklund depending upon language and person...
+ * We need automatic routines for incoming calls and static settings for
+ * our own accounts.
*/
struct ast_callerid {
char *cid_dnid; /*!< Malloc'd Dialed Number Identifier */
char *cid_num; /*!< Malloc'd Caller Number */
- char *cid_name; /*!< Malloc'd Caller Name */
+ char *cid_name; /*!< Malloc'd Caller Name (ASCII) */
char *cid_ani; /*!< Malloc'd ANI */
char *cid_rdnis; /*!< Malloc'd RDNIS */
+ char *cid_utf8; /*!< Malloc'd Caller ID name in utf8 */
+ char *cid_domain; /*!< Malloc'd Caller ID domain (ascii. IDN supported) */
+ char *cid_e164; /*!< Malloc'd Alternative Caller ID E.164 (alternative to SIP/IAX2 utf8 uri, RPID) */
int cid_pres; /*!< Callerid presentation/screening */
int cid_ani2; /*!< Callerid ANI 2 (Info digits) */
int cid_ton; /*!< Callerid Type of Number */