diff options
author | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-23 09:40:02 +0000 |
---|---|---|
committer | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-23 09:40:02 +0000 |
commit | ea9304c01b0ccf761235a4dc21fd4488177103eb (patch) | |
tree | ffc4d99cbf28935c51d1303adabbcddcd92ff34b /include/asterisk/channel.h | |
parent | f73d6060678cbe24f526d8e99ba5a8207605f035 (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/asterisk/channel.h')
-rw-r--r-- | include/asterisk/channel.h | 18 |
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 */ |