Asterisk 1.8 calling party name

This commit is contained in:
MelwareDE 2010-09-14 22:05:40 +00:00
parent a98cfe0cc9
commit 83ba42f167
3 changed files with 19 additions and 1 deletions

View File

@ -1003,7 +1003,7 @@ unsigned int cc_qsig_add_call_setup_data(unsigned char *data, struct capi_pvt *i
}
cc_qsig_build_facility_struct(data, &dataidx, protocolvar, APDUINTERPRETATION_IGNORE, &nfe);
cc_qsig_encode_ecma_name_invoke(data, &dataidx, &invoke, i, 0, pbx_capi_get_callername (i->owner));
cc_qsig_encode_ecma_name_invoke(data, &dataidx, &invoke, i, 0, pbx_capi_get_connectedname (i->owner));
cc_qsig_add_invoke(data, &dataidx, &invoke, i);
if (add_externalinfo) {

View File

@ -1594,3 +1594,20 @@ const char* pbx_capi_get_callername (struct ast_channel* c)
return (name);
}
/*
ast_channel_lock(chan) to be held while
while accessing returned pointer
*/
const char* pbx_capi_get_connectedname (struct ast_channel* c)
{
const char* name;
#ifdef CC_AST_HAS_VERSION_1_8
name = S_COR(c->connected.id.name.valid, c->connected.id.name.str, "");
#else
name = (c->cid.cid_name) ? c->cid.cid_name : "";
#endif
return (name);
}

View File

@ -61,6 +61,7 @@ extern int capi_write_frame(struct capi_pvt *i, struct ast_frame *f);
extern int capi_verify_resource_plci(const struct capi_pvt *i);
extern const char* pbx_capi_get_cid (struct ast_channel* c);
extern const char* pbx_capi_get_callername (struct ast_channel* c);
const char* pbx_capi_get_connectedname (struct ast_channel* c);
#define capi_number(data, strip) \
capi_number_func(data, strip, alloca(AST_MAX_EXTENSION))