aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-23 09:40:02 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-23 09:40:02 +0000
commitea9304c01b0ccf761235a4dc21fd4488177103eb (patch)
treeffc4d99cbf28935c51d1303adabbcddcd92ff34b /include
parentf73d6060678cbe24f526d8e99ba5a8207605f035 (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: http://svn.digium.com/svn/asterisk/trunk@89531 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-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 */