Asterisk通道工具類

2021-08-30 18:49:04 字數 3032 閱讀 9341

/**

* * asterisk通道工具類

* *

* @author sunflower

* *

* email:zhangxuehuaemail # gmail 點 com

* */

public class chanutil

public static final string chan_local = "local";

public static final string chan_dahdi = "dahdi";

public static final string chan_zap = "zap";

public static final string chan_sip = "sip";

public static final string chan_iax2 = "iax2";

private static final mapchannel_types = new hashmap(

5);static

/*** 判斷通道型別是否被支援

* * @param channeltype

* 需要鑑定的通道型別

* @return 是true,否false

*/public static final boolean contanschantype(string channeltype)

/*** 是否是本地通道

* * @param channel

* 需要鑑定的通道

* @return 是true,否false

*/public static final boolean islocalchan(string channel)

/*** 是否是dahdi通道

* * @param channel

* 需要鑑定的通道

* @return 是true,否false

*/public static final boolean isdahdichan(string channel)

/*** 是否是zap通道

* * @param channel

* 需要鑑定的通道

* @return 是true,否false

*/public static final boolean iszapchan(string channel)

/*** 是否是sip通道

* * @param channel

* 需要鑑定的通道

* @return 是true,否false

*/public static final boolean issipchan(string channel)

/*** 是否是iax2通道

* * @param channel

* 需要鑑定的通道

* @return 是true,否false

*/public static final boolean isiax2chan(string channel)

/*** 窄化通道,獲得簡單通道字串 例如:

* *

* @param channel

* @return

*/public static string narrowchan(string realchannel)

if (stringutils.contains(realchannel, "@")) else if (stringutils.contains(realchannel, "-")) else

} /**

* 判斷通道是否是fmpr通道

* * 該通道在fellow

* me通道出現,elastix1.3++,local/fmpr-100@from-internal-7a11,1中100為實際被叫號碼

* 而local/fmgl-101@from-internal-7a11,1中101是100的fellow me

* * @param channel

* 需要鑑定的通道

* @return true or false

*/public static boolean isfmprchan(string channel)

/*** 判斷通道是否是fmgl通道

* * 該通道在fellow

* me通道出現,elastix1.3++,local/fmpr-100@from-internal-7a11,1中100為實際被叫號碼

* 而local/fmgl-101@from-internal-7a11,1中101是100的fellow me

* * @param channel

* 需要鑑定的通道

* @return true or false

*/public static boolean isfmglchan(string channel)

/*** 解析實際通道獲取號碼

* * 支援的通道樣式

* *

* * @param channel

* 實際通道

* @return 支援的通道返回號碼字串,否返回unknown

*/public static string getextenfromchannel(string realchannel)

// 解析內部通道

if (stringutils.contains(realchannel, "@"))

// local/100@from-internal-7a11,1

else

} // 解析sip通道 例如sip/100-0a208990

else if (issipchan(realchannel))

// 不支援的通道格式返回未知

else

} public static class aststate

}

工具類 HexUtil 工具類

hexutil 源 如下 十六進製制處理工具類 public class hexutil param hex 需要轉換的16進製制字串 return 以位元組陣列返回轉換後的結果 public static byte hexstringtobyte string hex return result ...

工具類 BcdUtil 工具類

bcdutil 源 如下所示 public class bcdutil return true 功能描述 對給定的資料進行bcd轉換,如果長度為奇數,則在最前端補零 param val 待轉換資料,需滿足canbebcd return 以位元組陣列的形式返回壓縮後的內容 public static ...

集合工具類和陣列工具類

集合的工具類 collections 筆試題 說出collection與collections的區別?1.collection是乙個單列集合的跟介面,collections是操作集合物件的乙個工具類 collections常見方法 1.對list進行排序 sort listlist sort lis...