MSDC 4.3 接口规范(27)
- 7.4.4 代码
- 7.4.5 更新组呼业务
- 7.4.5.1 接口函数
- 7.4.5.2 先决条件
- 7.4.5.3 说明
- 7.4.5.4 调用流程
- 7.4.6 其他信息通知
- 7.4.6.1 组呼服务停止
- 7.4.6.1.1 接口函数
- 7.4.6.1.2 先决条件
- 7.4.6.1.3 说明
- 7.4.6.1.4 调用流程
- 7.4.6.2 SAI 列表更新
- 7.4.6.2.1 接口函数
- 7.4.6.2.2 先决条件
- 7.4.6.2.3 说明
- 7.4.6.2.4 调用流程
- 7.4.6.3 组呼业务接口指示
- 7.4.6.3.1 接口函数
- 7.4.6.3.2 先决条件
- 7.4.6.3.3 说明
- 7.4.6.3.4 调用流程
7.4.4 代码
以下代码片段显示了如何启动/停止组呼服务。
public void startOrStopGroupCallService(long tmgi) {
// Get the Current State of the Group Call Service
GroupCallServiceState state = mIMSDCGroupCallModel.getGroupCallServiceState(
tmgi);
GroupCallService gcService = getGCServiceForTMGI(tmgi);
if (state == null){
//Start the GC Service.
if (gcService != null) {
mIMSDCGroupCallController.startGroupCallService(tmgi,gcService.saiList,
gcService.freqList,
gcService.multicastIP,
gcService.
multicastPort);
}
else {
// No GC Service with the given TMGI.
}
}
else if (state == GroupCallServiceState.STATE_STARTED) {
//Stop the GC Service.
mIMSDCGroupCallController.stopGroupCallService(tmgi);
}
else {
// GC Service in Improper or Transient State
}
}
7.4.5 更新组呼业务
7.4.5.1 接口函数
void updateGroupCallService (long TMGI, List <Integer> SAIList, List <Integer> FrequencyList);
7.4.5.2 先决条件
组呼模块连接初始化
7.4.5.3 说明
要更新处于 STARTED 或 STALLED 状态的组呼服务,应用程序应使用 updateGroupCallService() 函数。 通过这个调用,应用程序给出了要更新的服务的 TMGI 以及 SAI 列表和频率列表的新值。
MSDC 不确认更新已处于 STARTED 或 STALLED 状态的组呼服务。
7.4.5.4 调用流程
7.4.6 其他信息通知
7.4.6.1 组呼服务停止
7.4.6.1.1 接口函数
void groupCallServiceStalled(long TMGI);
7.4.6.1.2 先决条件
- 组呼模块连接初始化
- 服务处于STARTED 状态
7.4.6.1.3 说明
如果已经处于 STARTED 状态的服务暂时不可用,则将其移至 STALLED 状态。 在这种情况下,MSDC API 使用 groupCallServiceStalled() 通知应用程序。
如果服务可用,MSDC API 将发送 groupCallServiceStalled() 以指示服务已移回 STARTED 状态。
通常,由于无线电控制信道不可用或不利的覆盖条件,服务会进入 STALLED 状态。
7.4.6.1.4 调用流程
7.4.6.2 SAI 列表更新
7.4.6.2.1 接口函数
void saiListUpdate (GroupItem currentGroup, List<GroupItem> groupList);
saiListUpdate() 包含以下参数:
* currentGroup — 指示驻留小区中可用的服务组。
* groupList — 表示相邻小区中可用服务组的列表。
每个 GroupItem 类都包含以下成员变量:
String groupName;
List<Integer> serviceAreaIdList;
List<Integer> serviceHandleList;
成员变量 groupName 是驻留网络类型的名称。 serviceHandleList 是在该组的 serviceAreaIdList 中列出的服务区域中可用/有效的组呼服务列表。
7.4.6.2.2 先决条件
组呼模块连接初始化
7.4.6.2.3 说明
当活动/当前服务区 ID (SAI) 列表发生变化时,MSDC 会使用 saiListUpdate() 通知应用程序。 该应用程序需要根据最新的 SAI 列表刷新可用的组呼服务列表。
可用的组呼服务列表提供来自组呼客户端的所有组呼服务,并根据当前/活动的 SAI 进行过滤。 通常,当设备跨服务区边界移动时,当前/活动 SAI 列表会发生变化。
7.4.6.2.4 调用流程
7.4.6.3 组呼业务接口指示
7.4.6.3.1 接口函数
void groupCallServiceInterfaceIndication(String interfaceName, int index);
7.4.6.3.2 先决条件
组呼模块连接初始化
7.4.6.3.3 说明
MSDC收到组呼服务初始化确认后,立即通知应用程序接收组呼服务的音频数据包的数据接口。 理想情况下,该组呼接口一旦初始化就不会改变。