try this crazy idea to make callerid work with no name
authorJeremy McNamara <jj@nufone.net>
Thu, 24 Jul 2003 18:28:40 +0000 (18:28 +0000)
committerJeremy McNamara <jj@nufone.net>
Thu, 24 Jul 2003 18:28:40 +0000 (18:28 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1216 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/h323/ast_h323.cpp
channels/h323/chan_h323.c

index 0e8d86d..a827452 100755 (executable)
@@ -206,11 +206,8 @@ int MyH323EndPoint::MakeCall(const PString & dest, PString & token,
        *callReference = connection->GetCallReference();
        
        if (strlen(callerid)) {
-               cout << "Setting callerid: [" << callerid << "]" << endl;
                connection->SetLocalPartyName(PString(callerid));
-       } else {
-               cout << "Callerid NOT SET!" << endl; 
-       }
+       } 
        connection->Unlock();   
 
        if (h323debug) {
index 017a164..29c1396 100755 (executable)
@@ -406,7 +406,13 @@ static int oh323_call(struct ast_channel *c, char *dest, int timeout)
 
        /* Copy callerid, if there is any */
        if (strlen(c->callerid)) {
-               p->calloptions.callerid = strdup(c->callerid);
+               char *tmp = strchr(c->callerid, '"');
+               if (tmp) {
+                       p->calloptions.callerid = malloc(sizeof(c->callerid+20)); // evil
+                       sprintf(p->calloptions.callerid, "\"Unknown Name\" <%s>", c->callerid);
+               } else {
+                       p->calloptions.callerid = strdup(c->callerid);
+               }
        }
 
        res = h323_make_call(called_addr, &(p->cd), p->calloptions);