diff --git a/channels/h323/ast_h323.cpp b/channels/h323/ast_h323.cpp index 0e8d86d95462563a43d7ddd1d47085b5623217f3..a827452abe8dacad034f35a72a2b2f233b723ed8 100755 --- a/channels/h323/ast_h323.cpp +++ b/channels/h323/ast_h323.cpp @@ -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) { diff --git a/channels/h323/chan_h323.c b/channels/h323/chan_h323.c index 017a164361286e8c0e393a74a3ea93ee1a09ae9f..29c139647194a648a6d1ca30fb7cff4d3b812b29 100755 --- a/channels/h323/chan_h323.c +++ b/channels/h323/chan_h323.c @@ -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);