aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authortransnexus <transnexus@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-30 07:20:59 +0000
committertransnexus <transnexus@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-30 07:20:59 +0000
commit764c816e0c4106dc0c1809d7e044356fcf54cdd1 (patch)
treef82f094b6aec584ca632160c3b55f82f29c1f04f /apps
parent9f78d08fa2eb9b5a0eb295e4c4ec14a85818849e (diff)
Fixed not report source network ID and not export destination network ID issues.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@191300 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_osplookup.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/app_osplookup.c b/apps/app_osplookup.c
index 597392616..3a15974c3 100644
--- a/apps/app_osplookup.c
+++ b/apps/app_osplookup.c
@@ -849,6 +849,7 @@ static int osp_create_callid(
* \param srcdev Source device of outbound call
* \param calling Calling number
* \param called Called number
+ * \param snetid Source network ID
* \param callidtypes Call ID types
* \param result Lookup results
* \return 1 Found , 0 No route, -1 Error
@@ -858,6 +859,7 @@ static int osp_lookup(
const char* srcdev,
const char* calling,
const char* called,
+ const char* snetid,
unsigned int callidtypes,
struct osp_result* result)
{
@@ -903,6 +905,10 @@ static int osp_lookup(
return -1;
}
+ if (!ast_strlen_zero(snetid)) {
+ OSPPTransactionSetNetworkIds(result->outhandle, snetid, "");
+ }
+
callidnum = 0;
callids[0] = NULL;
for (i = 0; i < OSP_CALLID_MAXNUM; i++) {
@@ -1414,7 +1420,7 @@ static int osplookup_exec(
return -1;
}
- if ((res = osp_lookup(provider, srcdev, chan->cid.cid_num, args.exten, callidtypes, &result)) > 0) {
+ if ((res = osp_lookup(provider, srcdev, chan->cid.cid_num, args.exten, snetid, callidtypes, &result)) > 0) {
status = AST_OSP_SUCCESS;
} else {
result.tech[0] = '\0';
@@ -1445,6 +1451,8 @@ static int osplookup_exec(
ast_debug(1, "OSPLookup: OSPCALLED '%s'\n", result.called);
pbx_builtin_setvar_helper(chan, "OSPCALLING", result.calling);
ast_debug(1, "OSPLookup: OSPCALLING '%s'\n", result.calling);
+ pbx_builtin_setvar_helper(chan, "OSPOUTNETWORKID", result.networkid);
+ ast_debug(1, "OSPLookup: OSPOUTNETWORKID '%s'\n", result.networkid);
pbx_builtin_setvar_helper(chan, "OSPOUTTOKEN", result.token);
ast_debug(1, "OSPLookup: OSPOUTTOKEN size '%zd'\n", strlen(result.token));
snprintf(buffer, sizeof(buffer), "%d", result.numresults);
@@ -1606,6 +1614,8 @@ static int ospnext_exec(
ast_debug(1, "OSPNext: OSPCALLED'%s'\n", result.called);
pbx_builtin_setvar_helper(chan, "OSPCALLING", result.calling);
ast_debug(1, "OSPNext: OSPCALLING '%s'\n", result.calling);
+ pbx_builtin_setvar_helper(chan, "OSPOUTNETWORKID", result.networkid);
+ ast_debug(1, "OSPLookup: OSPOUTNETWORKID '%s'\n", result.networkid);
pbx_builtin_setvar_helper(chan, "OSPOUTTOKEN", result.token);
ast_debug(1, "OSPNext: OSPOUTTOKEN size '%zd'\n", strlen(result.token));
snprintf(buffer, sizeof(buffer), "%d", result.numresults);