Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
69501d09
提交
69501d09
authored
5月 30, 2012
作者:
kapil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
adding M2UA configuration/alarm handling code
上级
d3c8429a
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
676 行增加
和
451 行删除
+676
-451
configure.ac
libs/freetdm/configure.ac
+1
-1
ftmod_sangoma_ss7_logger.c
...dm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_logger.c
+270
-5
ftmod_sangoma_ss7_m2ua.c
...etdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.c
+401
-441
ftmod_sangoma_ss7_m2ua.h
...etdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.h
+1
-1
ftmod_sangoma_ss7_m2ua_xml.c
.../src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua_xml.c
+3
-3
没有找到文件。
libs/freetdm/configure.ac
浏览文件 @
69501d09
...
...
@@ -316,7 +316,7 @@ if test "${HAVE_SNG_SS7}" = "yes"; then
case "${host}" in
x86_64-*)
# X86_64 machines need additional flags when compiling against libsng_isdn
CFLAGS="$CFLAGS -DBIT_64 -DALIGN_64BIT"
CFLAGS="$CFLAGS -DBIT_64 -DALIGN_64BIT
-DDEBUGP
"
;;
esac
fi
...
...
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_logger.c
浏览文件 @
69501d09
...
...
@@ -827,28 +827,293 @@ void handle_sng_relay_alarm(Pst *pst, RyMngmt *sta)
/******************************************************************************/
void
handle_sng_m2ua_alarm
(
Pst
*
pst
,
MwMgmt
*
sta
)
{
ftdm_log
(
FTDM_LOG_ERROR
,
" handle_sng_m2ua_alarm Not Yet Implement
\n
"
);
/* To print the general information */
ftdm_log
(
FTDM_LOG_INFO
,
"Recieved a status indication from M2UA layer
\n\n
"
);
ftdm_log
(
FTDM_LOG_INFO
,
" Category = %d , event = %d , cause = %d
\n
"
,
sta
->
t
.
usta
.
alarm
.
category
,
sta
->
t
.
usta
.
alarm
.
event
,
sta
->
t
.
usta
.
alarm
.
cause
);
/* To print the affected element value */
switch
(
sta
->
hdr
.
elmId
.
elmnt
)
{
case
STMWDLSAP
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" STMWDLSAP: with lnkNmb (%d)
\n\n
"
,
sta
->
t
.
usta
.
s
.
lnkNmb
);
break
;
}
case
STMWSCTSAP
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" STMWSCTSAP: suId (%d)
\n\n
"
,
sta
->
t
.
usta
.
s
.
suId
);
break
;
}
case
STMWPEER
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" STMWPEER: peerId (%d)
\n\n
"
,
sta
->
t
.
usta
.
s
.
peerId
);
break
;
}
case
STMWCLUSTER
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" STMWCLUSTER: clusterId (%d)
\n\n
"
,
sta
->
t
.
usta
.
s
.
peerId
);
break
;
}
default:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"[MW_USTA]: Invalid element
\n\n
"
);
break
;
}
}
/* To print the event specific information */
switch
(
sta
->
t
.
usta
.
alarm
.
event
)
{
case
LMW_EVENT_ESTABLISH_OK
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" M2UA : LMW_EVENT_ESTABLISH_OK Event raised on peerId[%d]
\n
"
,
sta
->
t
.
usta
.
s
.
peerId
);
break
;
}
case
LMW_EVENT_ESTABLISH_FAIL
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" M2UA : LMW_EVENT_ESTABLISH_FAIL Event raised on peerId[%d]
\n
"
,
sta
->
t
.
usta
.
s
.
peerId
);
break
;
}
case
LMW_EVENT_ASPM
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" M2UA : LMW_EVENT_ASPM Event raised with peerId (%d), aspId (%d),"
" msgType (%d)
\n\n
"
,
sta
->
t
.
usta
.
s
.
peerId
,
sta
->
t
.
usta
.
t
.
aspm
.
msgType
);
break
;
}
case
LMW_EVENT_CLUSTER
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" M2UA : LMW_EVENT_CLUSTER Event raised on clusterId (%d), state (%d)
\n\n
"
,
sta
->
t
.
usta
.
s
.
clusterId
,
sta
->
t
.
usta
.
t
.
cluster
.
state
);
break
;
}
case
LMW_EVENT_NOTIFY
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" M2UA : LMW_EVENT_NOTIFY: peerId (%d), aspId (%d), ntfy status type (%d),"
" ntfy status id (%d)
\n\n
"
,
sta
->
t
.
usta
.
s
.
peerId
,
sta
->
t
.
usta
.
t
.
ntfy
.
aspId
,
sta
->
t
.
usta
.
t
.
ntfy
.
stType
,
sta
->
t
.
usta
.
t
.
ntfy
.
stId
);
break
;
}
case
LMW_EVENT_M2UA_PROTO_ERROR
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
" M2UA : LMW_EVENT_M2UA_PROTO_ERROR with errorCode (%d)
\n\n
"
,
sta
->
t
.
usta
.
t
.
error
.
errCode
);
break
;
}
default:
break
;
}
}
/* handle_sng_m2ua_alarm */
/******************************************************************************/
void
handle_sng_nif_alarm
(
Pst
*
pst
,
NwMgmt
*
sta
)
{
ftdm_log
(
FTDM_LOG_ERROR
,
" handle_sng_nif_alarm Not Yet Implement
\n
"
);
/* To print the general information */
ftdm_log
(
FTDM_LOG_INFO
,
" Recieved a status indication from NIF layer
\n
"
);
ftdm_log
(
FTDM_LOG_INFO
,
" Category = %d , event = %d , cause = %d
\n
"
,
sta
->
t
.
usta
.
alarm
.
category
,
sta
->
t
.
usta
.
alarm
.
event
,
sta
->
t
.
usta
.
alarm
.
cause
);
switch
(
sta
->
hdr
.
elmId
.
elmnt
)
{
case
STNWDLSAP
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" Recieved STNWDLSAP status indication for suId (%d)
\n
"
,
sta
->
t
.
usta
.
suId
);
switch
(
sta
->
t
.
usta
.
alarm
.
event
)
{
case
LCM_EVENT_LI_INV_EVT
:
{
switch
(
sta
->
t
.
usta
.
alarm
.
cause
)
{
case
LCM_CAUSE_INV_SAP
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
" LCM_CAUSE_INV_SAP Alarm
\n
"
);
break
;
}
case
LCM_CAUSE_INV_STATE
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
" LCM_CAUSE_INV_STATE Alarm
\n
"
);
break
;
}
default:
break
;
}
break
;
}
case
LCM_EVENT_BND_OK
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" NIF: LCM_EVENT_BND_OK Alarm
\n
"
);
break
;
}
case
LCM_EVENT_BND_FAIL
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" NIF: LCM_EVENT_BND_FAIL Alarm
\n
"
);
break
;
}
default:
break
;
}
break
;
}
default:
break
;
}
}
/* handle_sng_nif_alarm */
/******************************************************************************/
void
handle_sng_tucl_alarm
(
Pst
*
pst
,
HiMngmt
*
sta
)
{
ftdm_log
(
FTDM_LOG_ERROR
,
" handle_sng_tucl_alarm Not Yet Implement
\n
"
);
/* To print the general information */
ftdm_log
(
FTDM_LOG_INFO
,
"Recieved a status indication from TUCL layer
\n\n
"
);
ftdm_log
(
FTDM_LOG_INFO
,
" Category = %d , event = %d , cause = %d
\n
"
,
sta
->
t
.
usta
.
alarm
.
category
,
sta
->
t
.
usta
.
alarm
.
event
,
sta
->
t
.
usta
.
alarm
.
cause
);
switch
(
sta
->
t
.
usta
.
alarm
.
event
)
{
case
LCM_EVENT_INV_EVT
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" [HI_USTA]: LCM_EVENT_INV_EVT with type (%d)
\n\n
"
,
sta
->
t
.
usta
.
info
.
type
);
break
;
}
case
LHI_EVENT_BNDREQ
:
{
ftdm_log
(
FTDM_LOG_INFO
,
" [HI_USTA]: LHI_EVENT_BNDREQ with type (%d) spId (%d)
\n\n
"
,
sta
->
t
.
usta
.
info
.
type
,
sta
->
t
.
usta
.
info
.
spId
);
break
;
}
case
LHI_EVENT_SERVOPENREQ
:
case
LHI_EVENT_DATREQ
:
case
LHI_EVENT_UDATREQ
:
case
LHI_EVENT_CONREQ
:
case
LHI_EVENT_DISCREQ
:
#if(defined(HI_TLS) && defined(HI_TCP_TLS))
case
LHI_EVENT_TLS_ESTREQ
:
#endif
{
ftdm_log
(
FTDM_LOG_INFO
,
" [HI_USTA]: partype (%d) type(%d)
\n\n
"
,
sta
->
t
.
usta
.
info
.
inf
.
parType
,
sta
->
t
.
usta
.
info
.
type
);
break
;
}
case
LCM_EVENT_DMEM_ALLOC_FAIL
:
case
LCM_EVENT_SMEM_ALLOC_FAIL
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
" [HI_USTA]: MEM_ALLOC_FAIL with region(%d) pool (%d) type(%d)
\n\n
"
,
sta
->
t
.
usta
.
info
.
inf
.
mem
.
region
,
sta
->
t
.
usta
.
info
.
inf
.
mem
.
pool
,
sta
->
t
.
usta
.
info
.
type
);
break
;
}
default:
break
;
}
}
/* handle_sng_tucl_alarm */
/******************************************************************************/
void
handle_sng_sctp_alarm
(
Pst
*
pst
,
SbMgmt
*
sta
)
{
ftdm_log
(
FTDM_LOG_ERROR
,
" handle_sng_sctp_alarm Not Yet Implement
\n
"
);
ftdm_log
(
FTDM_LOG_INFO
,
"Recieved a status indication from SCTP layer
\n\n
"
);
ftdm_log
(
FTDM_LOG_INFO
,
" Category = %d , event = %d , cause = %d "
" [SB_USTA]: sapId (%d) and swtch (%d)
\n
"
,
sta
->
t
.
usta
.
alarm
.
category
,
sta
->
t
.
usta
.
alarm
.
event
,
sta
->
t
.
usta
.
alarm
.
cause
,
sta
->
t
.
usta
.
sapId
,
sta
->
t
.
usta
.
swtch
);
switch
(
sta
->
t
.
usta
.
alarm
.
category
)
{
case
LCM_CATEGORY_INTERFACE
:
{
switch
(
sta
->
t
.
usta
.
alarm
.
cause
)
{
case
LCM_CAUSE_INV_SPID
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LCM_CAUSE_INV_SPID Alarm
\n
"
);
break
;
}
case
LCM_CAUSE_SWVER_NAVAIL
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LCM_CAUSE_SWVER_NAVAIL Alarm
\n
"
);
break
;
}
case
LCM_CAUSE_INV_PAR_VAL
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LCM_CAUSE_INV_PAR_VAL Alarm
\n
"
);
break
;
}
case
LCM_CAUSE_INV_SUID
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LCM_CAUSE_INV_SUID Alarm
\n
"
);
break
;
}
case
LCM_CAUSE_INV_SAP
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LCM_CAUSE_INV_SAP Alarm
\n
"
);
break
;
}
default:
break
;
}
break
;
}
case
LCM_CATEGORY_RESOURCE
:
{
switch
(
sta
->
t
.
usta
.
alarm
.
cause
)
{
case
LCM_CAUSE_MEM_ALLOC_FAIL
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LCM_CAUSE_MEM_ALLOC_FAIL Alarm
\n
"
);
break
;
}
case
LSB_CAUSE_NUM_ADDR_EXCEED
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LSB_CAUSE_NUM_ADDR_EXCEED Alarm
\n
"
);
break
;
}
default:
break
;
}
break
;
}
case
LCM_CATEGORY_PROTOCOL
:
{
switch
(
sta
->
t
.
usta
.
alarm
.
cause
)
{
case
LSB_CAUSE_PATH_FAILURE
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LSB_CAUSE_PATH_FAILURE Alarm
\n
"
);
break
;
}
case
LSB_CAUSE_PATH_ACTIVE
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LSB_CAUSE_PATH_ACTIVE Alarm
\n
"
);
break
;
}
case
LSB_CAUSE_UNRSLVD_ADDR
:
{
ftdm_log
(
FTDM_LOG_ERROR
,
"SCTP : LSB_CAUSE_UNRSLVD_ADDR Alarm
\n
"
);
break
;
}
default:
break
;
}
break
;
}
default:
break
;
}
}
/* handle_sng_sctp_alarm */
/******************************************************************************/
...
...
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.c
浏览文件 @
69501d09
差异被折叠。
点击展开。
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.h
浏览文件 @
69501d09
...
...
@@ -61,7 +61,7 @@ typedef struct sng_m2ua_cfg{
uint32_t
id
;
/* ID */
uint8_t
nodeType
;
/*Node Type SG/ASP */
uint16_t
sctpId
;
/* idx to sctp profile */
uint16_t
peer
d
Id
;
/* idx to m2ua_peer profile */
uint16_t
peerId
;
/* idx to m2ua_peer profile */
uint16_t
clusterId
;
/* idx to m2ua_cluster profile */
}
sng_m2ua_cfg_t
;
...
...
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua_xml.c
浏览文件 @
69501d09
...
...
@@ -258,9 +258,9 @@ static int ftmod_ss7_parse_m2ua_interface(ftdm_conf_node_t *m2ua_interface)
/**********************************************************************/
}
else
if
(
!
strcasecmp
(
parm
->
var
,
"peerd_id"
))
{
/**********************************************************************/
sng_m2ua
.
peer
d
Id
=
atoi
(
parm
->
val
);
sng_m2ua
.
peerId
=
atoi
(
parm
->
val
);
SS7_DEBUG
(
"Found an m2ua peerd_id = %d
\n
"
,
sng_m2ua
.
peer
d
Id
);
SS7_DEBUG
(
"Found an m2ua peerd_id = %d
\n
"
,
sng_m2ua
.
peerId
);
/**********************************************************************/
}
else
if
(
!
strcasecmp
(
parm
->
var
,
"cluster_id"
))
{
/**********************************************************************/
...
...
@@ -298,7 +298,7 @@ static int ftmod_ss7_fill_in_m2ua_interface(sng_m2ua_cfg_t *m2ua_iface)
g_ftdm_sngss7_data
.
cfg
.
g_m2ua_cfg
.
m2ua
[
i
].
id
=
m2ua_iface
->
id
;
g_ftdm_sngss7_data
.
cfg
.
g_m2ua_cfg
.
m2ua
[
i
].
nodeType
=
m2ua_iface
->
nodeType
;
g_ftdm_sngss7_data
.
cfg
.
g_m2ua_cfg
.
m2ua
[
i
].
sctpId
=
m2ua_iface
->
sctpId
;
g_ftdm_sngss7_data
.
cfg
.
g_m2ua_cfg
.
m2ua
[
i
].
peer
dId
=
m2ua_iface
->
peerd
Id
;
g_ftdm_sngss7_data
.
cfg
.
g_m2ua_cfg
.
m2ua
[
i
].
peer
Id
=
m2ua_iface
->
peer
Id
;
g_ftdm_sngss7_data
.
cfg
.
g_m2ua_cfg
.
m2ua
[
i
].
clusterId
=
m2ua_iface
->
clusterId
;
return
0
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论