diff options
-rwxr-xr-x | channels/h323/chan_h323.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/channels/h323/chan_h323.c b/channels/h323/chan_h323.c index eb148e537..e94978e57 100755 --- a/channels/h323/chan_h323.c +++ b/channels/h323/chan_h323.c @@ -406,8 +406,15 @@ static int oh323_call(struct ast_channel *c, char *dest, int timeout) /* Copy callerid, if there is any */ if (c->callerid) { - p->calloptions.callerid = strdup(c->callerid); - } + char *tmp = strchr(c->callerid, '"'); + if (!tmp) { + p->calloptions.callerid = malloc(80); // evil + // sprintf(p->calloptions.callerid, "\"%s\"", c->callerid); + sprintf(p->calloptions.callerid, "\"\" <%s>", c->callerid); + } else { + p->calloptions.callerid = strdup(c->callerid); + } + } res = h323_make_call(called_addr, &(p->cd), p->calloptions); |