[asterisk-users] calleridname presentation Asterisk => Siemens

Richard Mudgett rmudgett at digium.com
Fri Jul 1 10:56:39 CDT 2011


> I interconnect the Asterisk and the Siemens PBX with Pri QSIG. But i
> can't show the callerid name in the way Asterisk ==> Siemens. I
> realized that Asterisk send calleridname in format
> "namePresentationAllowedSimple" to Siemens e Siemens send calleridname
> in format "namePresentationAllowedExtended". I need change the format
> of the calleridname in asterisk.
> 
> 
> How to change?

There are two ways:

1) With Asterisk v1.8 change the character set of the name to CALLERID(name-charset)=unknown.
The default character set of iso8859-1 uses the simple form since that is the default character set of the extended form.

2) Change libpri as follows in the function rose_enc_qsig_Name() to always send the extended form:
--- rose_qsig_name.c    (revision 2267)
+++ rose_qsig_name.c    (working copy)
@@ -94,22 +94,12 @@
                /* Do not encode anything */
                break;
        case 1: /* presentation_allowed */
-               if (name->char_set == 1) {
-                       ASN1_CALL(pos, asn1_enc_string_bin(pos, end, ASN1_CLASS_CONTEXT_SPECIFIC | 0,
-                               name->data, name->length));
-               } else {
-                       ASN1_CALL(pos, rose_enc_qsig_NameSet(ctrl, pos, end,
-                               ASN1_CLASS_CONTEXT_SPECIFIC | 1, name));
-               }
+               ASN1_CALL(pos, rose_enc_qsig_NameSet(ctrl, pos, end,
+                       ASN1_CLASS_CONTEXT_SPECIFIC | 1, name));
                break;
        case 2: /* presentation_restricted */
-               if (name->char_set == 1) {
-                       ASN1_CALL(pos, asn1_enc_string_bin(pos, end, ASN1_CLASS_CONTEXT_SPECIFIC | 2,
-                               name->data, name->length));
-               } else {
-                       ASN1_CALL(pos, rose_enc_qsig_NameSet(ctrl, pos, end,
-                               ASN1_CLASS_CONTEXT_SPECIFIC | 3, name));
-               }
+               ASN1_CALL(pos, rose_enc_qsig_NameSet(ctrl, pos, end,
+                       ASN1_CLASS_CONTEXT_SPECIFIC | 3, name));
                break;
        case 3: /* presentation_restricted_null */
                ASN1_CALL(pos, asn1_enc_null(pos, end, ASN1_CLASS_CONTEXT_SPECIFIC | 7));

Richard



More information about the asterisk-users mailing list