提交 2b5875a2 authored 作者: kapil's avatar kapil

adding M2UA/NIF CLI commands

上级 d147dcd5
...@@ -278,8 +278,10 @@ ftdm_status_t sng_m2ua_cfg(void) ...@@ -278,8 +278,10 @@ ftdm_status_t sng_m2ua_cfg(void)
} }
/****************************************************************************************************/ /****************************************************************************************************/
/* M2UA SCTP SAP configurations */ /* M2UA SCTP SAP configurations */
for (x=1; g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[x].id !=0; x++) { x = 1;
if (!(g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[x].flags & SNGSS7_CONFIGURED)) { while(x<MW_MAX_NUM_OF_INTF){
if((g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[x].id !=0) &&
(!(g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[x].flags & SNGSS7_CONFIGURED))) {
if(ftmod_m2ua_sctsap_config(x)) { if(ftmod_m2ua_sctsap_config(x)) {
ftdm_log (FTDM_LOG_ERROR ,"M2UA SCTSAP[%d] configuration: NOT OK\n", x); ftdm_log (FTDM_LOG_ERROR ,"M2UA SCTSAP[%d] configuration: NOT OK\n", x);
...@@ -288,36 +290,37 @@ ftdm_status_t sng_m2ua_cfg(void) ...@@ -288,36 +290,37 @@ ftdm_status_t sng_m2ua_cfg(void)
ftdm_log (FTDM_LOG_INFO ,"M2UA SCTSAP[%d] configuration: OK\n", x); ftdm_log (FTDM_LOG_INFO ,"M2UA SCTSAP[%d] configuration: OK\n", x);
} }
/****************************************************************************************************/ /****************************************************************************************************/
/* M2UA PEER configurations */ /* M2UA PEER configurations */
if(ftmod_m2ua_peer_config(x)) { if(ftmod_m2ua_peer_config(x)) {
ftdm_log (FTDM_LOG_ERROR ,"M2UA PEER configuration for M2UA INTF[%d] : NOT OK\n", x); ftdm_log (FTDM_LOG_ERROR ,"M2UA PEER configuration for M2UA INTF[%d] : NOT OK\n", x);
return FTDM_FAIL; return FTDM_FAIL;
}else { }else {
ftdm_log (FTDM_LOG_INFO ,"M2UA PEER configuration for M2UA INTF[%d] : OK\n", x); ftdm_log (FTDM_LOG_INFO ,"M2UA PEER configuration for M2UA INTF[%d] : OK\n", x);
} }
/****************************************************************************************************/ /****************************************************************************************************/
/* M2UA Cluster configurations */ /* M2UA Cluster configurations */
if(ftmod_m2ua_cluster_config(x)) {
ftdm_log (FTDM_LOG_ERROR ,"M2UA CLUSTER configuration for M2UA INTF[%d] : NOT OK\n", x);
return FTDM_FAIL;
}else {
ftdm_log (FTDM_LOG_INFO ,"M2UA CLUSTER configuration for M2UA INTF[%d]: OK\n", x);
}
/****************************************************************************************************/ if(ftmod_m2ua_cluster_config(x)) {
ftdm_log (FTDM_LOG_ERROR ,"M2UA CLUSTER configuration for M2UA INTF[%d] : NOT OK\n", x);
return FTDM_FAIL;
}else {
ftdm_log (FTDM_LOG_INFO ,"M2UA CLUSTER configuration for M2UA INTF[%d]: OK\n", x);
}
/* Send the USAP (DLSAP) configuration request for M2UA layer; fill the number /****************************************************************************************************/
* of saps required to be configured. Max is 3 */
if(ftmod_m2ua_dlsap_config(x)) { /* Send the USAP (DLSAP) configuration request for M2UA layer; fill the number
ftdm_log (FTDM_LOG_ERROR ,"M2UA DLSAP[%d] configuration: NOT OK\n", x); * of saps required to be configured. Max is 3 */
return FTDM_FAIL; if(ftmod_m2ua_dlsap_config(x)) {
}else { ftdm_log (FTDM_LOG_ERROR ,"M2UA DLSAP[%d] configuration: NOT OK\n", x);
ftdm_log (FTDM_LOG_INFO ,"M2UA DLSAP[%d] configuration: OK\n", x); return FTDM_FAIL;
} }else {
} /* END - SNGSS7_CONFIGURED */ ftdm_log (FTDM_LOG_INFO ,"M2UA DLSAP[%d] configuration: OK\n", x);
}
} /* END - SNGSS7_CONFIGURED */
x++;
}/* END - M2UA Interfaces for loop*/ }/* END - M2UA Interfaces for loop*/
/****************************************************************************************************/ /****************************************************************************************************/
/* NIF */ /* NIF */
...@@ -331,8 +334,10 @@ ftdm_status_t sng_m2ua_cfg(void) ...@@ -331,8 +334,10 @@ ftdm_status_t sng_m2ua_cfg(void)
/****************************************************************************************************/ /****************************************************************************************************/
/* NIF DLSAP */ /* NIF DLSAP */
for (x=1; g_ftdm_sngss7_data.cfg.g_m2ua_cfg.nif[x].id !=0; x++) { x = 1;
if (!(g_ftdm_sngss7_data.cfg.g_m2ua_cfg.nif[x].flags & SNGSS7_CONFIGURED)) { while(x<MW_MAX_NUM_OF_INTF){
if ((g_ftdm_sngss7_data.cfg.g_m2ua_cfg.nif[x].id !=0) &&
(!(g_ftdm_sngss7_data.cfg.g_m2ua_cfg.nif[x].flags & SNGSS7_CONFIGURED))) {
if(ftmod_nif_dlsap_config(x)) { if(ftmod_nif_dlsap_config(x)) {
ftdm_log (FTDM_LOG_ERROR ,"NIF DLSAP[%d] configuration: NOT OK\n", x); ftdm_log (FTDM_LOG_ERROR ,"NIF DLSAP[%d] configuration: NOT OK\n", x);
return FTDM_FAIL; return FTDM_FAIL;
...@@ -340,6 +345,7 @@ ftdm_status_t sng_m2ua_cfg(void) ...@@ -340,6 +345,7 @@ ftdm_status_t sng_m2ua_cfg(void)
ftdm_log (FTDM_LOG_INFO ,"NIF DLSAP[%d] configuration: OK\n", x); ftdm_log (FTDM_LOG_INFO ,"NIF DLSAP[%d] configuration: OK\n", x);
} }
} }
x++;
} }
/****************************************************************************************************/ /****************************************************************************************************/
...@@ -1593,16 +1599,16 @@ int ftmod_sctp_ssta_req(int elemt, int id, SbMgmt* cfm) ...@@ -1593,16 +1599,16 @@ int ftmod_sctp_ssta_req(int elemt, int id, SbMgmt* cfm)
return(sng_sta_sctp(&pst,&ssta,cfm)); return(sng_sta_sctp(&pst,&ssta,cfm));
} }
#if 0 int ftmod_m2ua_ssta_req(int elemt, int id, MwMgmt* cfm)
int ftmod_m2ua_ssta_req(int elemt)
{ {
MwMgmt ssta; MwMgmt ssta;
MwMgmt cfm;
Pst pst; Pst pst;
sng_m2ua_cfg_t* m2ua = &g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[id];
sng_m2ua_cluster_cfg_t* clust = &g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua_clus[m2ua->clusterId];
sng_m2ua_peer_cfg_t* peer = &g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua_peer[m2ua->peerId];
memset((U8 *)&pst, 0, sizeof(Pst)); memset((U8 *)&pst, 0, sizeof(Pst));
memset((U8 *)&ssta, 0, sizeof(MwMgmt)); memset((U8 *)&ssta, 0, sizeof(MwMgmt));
memset((U8 *)&cfm, 0, sizeof(MwMgmt));
smPstInit(&pst); smPstInit(&pst);
...@@ -1625,40 +1631,39 @@ int ftmod_m2ua_ssta_req(int elemt) ...@@ -1625,40 +1631,39 @@ int ftmod_m2ua_ssta_req(int elemt)
{ {
case STMWSCTSAP: case STMWSCTSAP:
{ {
ssta.t.ssta.id.suId = 0 ; /* lower sap Id */ ssta.t.ssta.id.suId = m2ua->id ; /* lower sap Id */
break; break;
} }
case STMWDLSAP: case STMWDLSAP:
{ {
ssta.t.ssta.id.lnkNmb = 0 ; /* upper sap Id */ ssta.t.ssta.id.lnkNmb = id ; /* upper sap Id */
break; break;
} }
case STMWPEER: case STMWPEER:
{ {
ssta.t.ssta.id.peerId = 1 ; /* peer Id */ ssta.t.ssta.id.peerId = peer->id ; /* peer Id */
break; break;
} }
case STMWCLUSTER: case STMWCLUSTER:
{ {
ssta.t.ssta.id.clusterId = 1 ; /* cluster Id */ ssta.t.ssta.id.clusterId = clust->id ; /* cluster Id */
break; break;
} }
default: default:
break; break;
} }
return(sng_sta_m2ua(&pst,&ssta,&cfm)); return(sng_sta_m2ua(&pst,&ssta,cfm));
} }
int ftmod_nif_ssta_req(int elemt) int ftmod_nif_ssta_req(int elemt, int id, NwMgmt* cfm)
{ {
NwMgmt ssta; NwMgmt ssta;
NwMgmt cfm;
Pst pst; Pst pst;
sng_nif_cfg_t* nif = &g_ftdm_sngss7_data.cfg.g_m2ua_cfg.nif[id];
memset((U8 *)&pst, 0, sizeof(Pst)); memset((U8 *)&pst, 0, sizeof(Pst));
memset((U8 *)&ssta, 0, sizeof(NwMgmt)); memset((U8 *)&ssta, 0, sizeof(NwMgmt));
memset((U8 *)&cfm, 0, sizeof(NwMgmt));
smPstInit(&pst); smPstInit(&pst);
...@@ -1668,18 +1673,14 @@ int ftmod_nif_ssta_req(int elemt) ...@@ -1668,18 +1673,14 @@ int ftmod_nif_ssta_req(int elemt)
ssta.hdr.msgType = TSSTA; /* message type */ ssta.hdr.msgType = TSSTA; /* message type */
ssta.hdr.entId.ent = ENTNW; /* entity */ ssta.hdr.entId.ent = ENTNW; /* entity */
ssta.hdr.entId.inst = 0; /* instance */ ssta.hdr.entId.inst = 0; /* instance */
ssta.hdr.elmId.elmnt = elemt;
ssta.hdr.response.selector = 0; ssta.hdr.response.selector = 0;
ssta.hdr.response.prior = PRIOR0; ssta.hdr.response.prior = PRIOR0;
ssta.hdr.response.route = RTESPEC; ssta.hdr.response.route = RTESPEC;
ssta.hdr.response.mem.region = S_REG; ssta.hdr.response.mem.region = S_REG;
ssta.hdr.response.mem.pool = S_POOL; ssta.hdr.response.mem.pool = S_POOL;
ssta.t.ssta.suId = nif->id; /* Lower sapId */
if(ssta.hdr.elmId.elmnt == STNWDLSAP) return(sng_sta_nif(&pst,&ssta,cfm));
{
ssta.t.ssta.suId = 0; /* Lower sapId */
}
return(sng_sta_nif(&pst,&ssta,&cfm));
} }
#endif
...@@ -124,10 +124,8 @@ void ftmod_ss7_m2ua_free(void); ...@@ -124,10 +124,8 @@ void ftmod_ss7_m2ua_free(void);
ftdm_status_t ftmod_ss7_m2ua_cfg(void); ftdm_status_t ftmod_ss7_m2ua_cfg(void);
int ftmod_sctp_ssta_req(int elemt, int id, SbMgmt* cfm); int ftmod_sctp_ssta_req(int elemt, int id, SbMgmt* cfm);
#if 0 int ftmod_m2ua_ssta_req(int elemt, int id, MwMgmt* cfm);
int ftmod_m2ua_ssta_req(int elemt); int ftmod_nif_ssta_req(int elemt, int id, NwMgmt* cfm);
int ftmod_nif_ssta_req(int elemt);
#endif
#endif /*__FTMOD_SNG_SS7_M2UA_H__*/ #endif /*__FTMOD_SNG_SS7_M2UA_H__*/
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论