From: Olle Johansson Date: Fri, 23 Nov 2007 09:40:02 +0000 (+0000) Subject: Let's start with implementing the base architecture for UTF8 caller ID's X-Git-Tag: 1.6.0-beta1~3^2~693 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=38c8755e9aa1e4e80ffc1ced8f4d088c7316225f;p=thirdparty%2Fasterisk.git 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 --- diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 40a2f3a42f..812c01a43c 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 */