diff options
Diffstat (limited to 'res')
-rw-r--r-- | res/res_agi.c | 24 | ||||
-rw-r--r-- | res/snmp/agent.c | 28 |
2 files changed, 29 insertions, 23 deletions
diff --git a/res/res_agi.c b/res/res_agi.c index 4150fe1a9..bd8ad4bfd 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -1626,14 +1626,18 @@ static void setup_env(struct ast_channel *chan, char *request, int fd, int enhan ast_agi_send(fd, chan, "agi_version: %s\n", ast_get_version()); /* ANI/DNIS */ - ast_agi_send(fd, chan, "agi_callerid: %s\n", S_OR(chan->cid.cid_num, "unknown")); - ast_agi_send(fd, chan, "agi_calleridname: %s\n", S_OR(chan->cid.cid_name, "unknown")); - ast_agi_send(fd, chan, "agi_callingpres: %d\n", chan->cid.cid_pres); - ast_agi_send(fd, chan, "agi_callingani2: %d\n", chan->cid.cid_ani2); - ast_agi_send(fd, chan, "agi_callington: %d\n", chan->cid.cid_ton); - ast_agi_send(fd, chan, "agi_callingtns: %d\n", chan->cid.cid_tns); - ast_agi_send(fd, chan, "agi_dnid: %s\n", S_OR(chan->cid.cid_dnid, "unknown")); - ast_agi_send(fd, chan, "agi_rdnis: %s\n", S_OR(chan->redirecting.from.number, "unknown")); + ast_agi_send(fd, chan, "agi_callerid: %s\n", + S_COR(chan->caller.id.number.valid, chan->caller.id.number.str, "unknown")); + ast_agi_send(fd, chan, "agi_calleridname: %s\n", + S_COR(chan->caller.id.name.valid, chan->caller.id.name.str, "unknown")); + ast_agi_send(fd, chan, "agi_callingpres: %d\n", + ast_party_id_presentation(&chan->caller.id)); + ast_agi_send(fd, chan, "agi_callingani2: %d\n", chan->caller.ani2); + ast_agi_send(fd, chan, "agi_callington: %d\n", chan->caller.id.number.plan); + ast_agi_send(fd, chan, "agi_callingtns: %d\n", chan->dialed.transit_network_select); + ast_agi_send(fd, chan, "agi_dnid: %s\n", S_OR(chan->dialed.number.str, "unknown")); + ast_agi_send(fd, chan, "agi_rdnis: %s\n", + S_COR(chan->redirecting.from.number.valid, chan->redirecting.from.number.str, "unknown")); /* Context information */ ast_agi_send(fd, chan, "agi_context: %s\n", chan->context); @@ -2116,7 +2120,9 @@ static int handle_setpriority(struct ast_channel *chan, AGI *agi, int argc, cons return RESULT_SHOWUSAGE; if (sscanf(argv[2], "%30d", &pri) != 1) { - if ((pri = ast_findlabel_extension(chan, chan->context, chan->exten, argv[2], chan->cid.cid_num)) < 1) + pri = ast_findlabel_extension(chan, chan->context, chan->exten, argv[2], + S_COR(chan->caller.id.number.valid, chan->caller.id.number.str, NULL)); + if (pri < 1) return RESULT_SHOWUSAGE; } diff --git a/res/snmp/agent.c b/res/snmp/agent.c index b902affcc..439bd17e7 100644 --- a/res/snmp/agent.c +++ b/res/snmp/agent.c @@ -419,59 +419,59 @@ static u_char *ast_var_channels_table(struct variable *vp, oid *name, size_t *le ret = (u_char *)&long_ret; break; case ASTCHANCIDDNID: - if (chan->cid.cid_dnid) { - strncpy(string_ret, chan->cid.cid_dnid, sizeof(string_ret)); + if (chan->dialed.number.str) { + strncpy(string_ret, chan->dialed.number.str, sizeof(string_ret)); string_ret[sizeof(string_ret) - 1] = '\0'; *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDNUM: - if (chan->cid.cid_num) { - strncpy(string_ret, chan->cid.cid_num, sizeof(string_ret)); + if (chan->caller.id.number.valid && chan->caller.id.number.str) { + strncpy(string_ret, chan->caller.id.number.str, sizeof(string_ret)); string_ret[sizeof(string_ret) - 1] = '\0'; *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDNAME: - if (chan->cid.cid_name) { - strncpy(string_ret, chan->cid.cid_name, sizeof(string_ret)); + if (chan->caller.id.name.valid && chan->caller.id.name.str) { + strncpy(string_ret, chan->caller.id.name.str, sizeof(string_ret)); string_ret[sizeof(string_ret) - 1] = '\0'; *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDANI: - if (chan->cid.cid_ani) { - strncpy(string_ret, chan->cid.cid_ani, sizeof(string_ret)); + if (chan->caller.ani) { + strncpy(string_ret, chan->caller.ani, sizeof(string_ret)); string_ret[sizeof(string_ret) - 1] = '\0'; *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDRDNIS: - if (chan->redirecting.from.number) { - strncpy(string_ret, chan->redirecting.from.number, sizeof(string_ret)); + if (chan->redirecting.from.number.valid && chan->redirecting.from.number.str) { + strncpy(string_ret, chan->redirecting.from.number.str, sizeof(string_ret)); string_ret[sizeof(string_ret) - 1] = '\0'; *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDPRES: - long_ret = chan->cid.cid_pres; + long_ret = ast_party_id_presentation(chan->caller.id); ret = (u_char *)&long_ret; break; case ASTCHANCIDANI2: - long_ret = chan->cid.cid_ani2; + long_ret = chan->caller.ani2; ret = (u_char *)&long_ret; break; case ASTCHANCIDTON: - long_ret = chan->cid.cid_ton; + long_ret = chan->caller.id.number.plan; ret = (u_char *)&long_ret; break; case ASTCHANCIDTNS: - long_ret = chan->cid.cid_tns; + long_ret = chan->dialed.transit_network_select; ret = (u_char *)&long_ret; break; case ASTCHANAMAFLAGS: |