摘 要: 为了使劳教所会见更加快捷、方便、人性化,提出了一套会见监听的方案。该方案是集身份识别、身份查找、监听、录音、插话和放音等为一体的综合管理系统。系统硬件部分以语音卡、第二代身份证读卡器和单片机为核心,实现了对会见者的身份认证,并确保了对通话会见状况的有效监督和管理。软件部分是由基于VB编写的上位机系统和以SQL2005开发的数据库系统构成的,实现了对会见者和服刑人员信息的显示、查找及储存,而且通过上位机对会见电话实现了有效的控制。现场实验表明,该系统方案节约了大量警力资源,方便了会见人员,使劳教所的管理趋向于信息化管理。
关键词: 管理系统;语音卡;身份证读卡器;上位机;数据库
劳教所中允许定期服刑人员家属与服刑人员见面的制度体现了劳教所管理的人性化,然而这也带来了许多管理上的不变。因为服刑人员与家属想见面时必须有一个狱警在旁边监督,这样既浪费了劳教所的警力资源,又使得服刑人员与家人的说话有所拘束。但为了安全起见,狱警人员必须了解他们的通话内容,对他们的通话进行有效的控制。因此,本文提出了一种方案,其采用语音卡、AT80C51单片机和第二代身份证阅读器,通过编写上位机程序对语音卡、单片机和身份证阅读器进行控制,成功实现了对会见系统电话的通断、录音、监听、插话和放音等操作,而且还明确了会见者的身份。这样不但使劳教所管理更加人性化,而且节约了大量警力资源,使管理更加方便、快捷、安全。
1 总体设计
劳教所会见总体结构主要包括语音卡、单片机控制继电器电路板、身份证读卡器和上位机界面。语音卡通过PCI插槽与电脑相连,软件通过调用其API函数来对其进行操作,电话通过网线与语音卡相连接,语音卡把电话的语音电信号捕获并传输给上位机,而且软件还可以通过语音卡给电话发送语音信号。因而上位机可以控制语音卡,实现对电话的监听、录音、插话和放音等功能。单片机继电器电路板用来控制电话的通断,电路板与PC通过串口相连接,上位机与单片机通过串口通信来控制继电器,电话与继电器用网线相连接,从而实现上位机控制电话的通断。第二代身份证读卡器通过USB接口与PC相连,把读卡器读出的身份证信息和图片信息传输到上位机上并储存到数据库中,使会见者与要会见的服刑人员建立联系,方便以后会见时查找。总体设计如图1所示。
2 系统硬件设计
会见系统的硬件部分主要有语音卡、单片机控制继电器电路板和身份证读卡器。而语音卡是整个系统的核心部分,能够实现信号侦测、通话监听;实现复杂的通话记录快速检索;可根据通道号码、通话日期时间和主被叫号码等检索录音记录;具有独特的DSP处理结构,能实时、高效地进行每线独立的数字化录音和放音;独特的DSP处理结构,每线的数字化录音和放音可以同时并独立进行。因此语音卡能识别电话的各种信号,如摘机信号、挂机信号、按键信号和语音信号等[1]。语音卡把各种信号捕获后发送给上位机软件进行处理,而且能把上位机的音频信号发送给指定的电话,很好地实现了对电话的监听、录音、插话和放音功能。
但是语音卡不能控制电话的通断,而该功能在劳教所这种特殊环境下很重要。因此,这里采用了继电器来控制电话通断,以AT89C52为微处理芯片控制继电器,89C52通过串口与上位机通信,上位机就可以发送通断命令来实现控制电话的通断。
第二代身份证读卡器采用国际上先进的TypeB非接触IC卡阅读技术,配以公安部授权的专用身份证安全控制模式(SAM),以无线传输方式与第二代居民身份证内的专用芯片进行安全认证后,将芯片内的个人信息资料读出,将此信息上传至计算机,并完成解码、显示、存储、查询和自动录入等功能[2]。
3 系统软件设计
系统上位机软件采用VB编写,主要由登录系统、身份识别、会见信息管理、监听录音和数据库5大部分构成,总体设计如图2所示。
3.1 登录部分
登录系统的主要作用是确定登录者是否有权限使用会见监听系统软件,这里采用双层密码确认方式。首先当登录者输入密码和帐号确认后,点击登录则会把一串验证码发送到单片机,从而与单片机中的信息经行验证,如果验证成功单片机会通过串口发送回一个确认信息,然后在与数据库中的密码和帐号相匹配,如果两次确认都成功则使登录者允许登录,否则不允许登录。这使得该系统在别的电脑上是无法运行的,保证了会见系统软件的安全性。
3.2 身份证识别
(1)读卡器软件开发
上位机软件调用身份证读卡器dll库文件,通过API函数来实现对读卡器的控制。
主要API函数有:
int_stdcall InitComm(int Port)//初始化接口
int_stdcall Authenticate()//卡认证
int_stdcall Read_Content(int Active)//读卡操作
int_stdcall SetBaseData(char*TxtFileName)
//设置基本信息
int_stdcall SetPhotoData(char*WltFileName)
//设置照片WLT信息[3]
身份证读卡器流程图如图3所示。
(2)软件设计
当有人会见服刑人员时,需要用身份证读卡器读取会见人的身份证信息,然后系统自动搜索数据库来查找此人是否已在劳教所中备注了允许会见的人员范围内。如果查找到,则把会见人的信息及其相关联服刑人员的信息显示出来,然后会见信息表中显示其当月的会见次数,如果没有超过当月的会见次数则审核通过,然后进入会见信息管理界面。会见识别界面如图4所示。
3.3 会见信息管理
会见人员须在此填写家庭住址、所携带的物品及所要给服刑人员的现金,而且系统会自动给要见的服刑人员分配会见窗口,打印会见通知单。如果会见人员属于会见范围内,但信息还没有在数据库中储存备注,则可以通过查询把需要会见的服刑人员从数据库中查找出来,然后再添加会见人的信息,将其储存到数据库中,并在数据库中建立联系。以后就可以通过身份证读卡器把两个人的信息一起显示出来。因为会见信息管理界面通过VB调用了ADO控件,能够用SQL语言实现对数据库的增、删、改等操作,所以会见信息管理界面可以对数据库中服刑人员的信息进行随时的更改变动。当会见信息管理中所有信息都填好后,点击打印按钮,软件就会把相关的信息填写到会见通知单上并打印出来,劳教所干警根据会见通知单把服刑人员领到对应的窗口与会见人见面。会见信息管理界面如图5所示。
3.4 监听录音
(1)语音卡编程原理
语音卡编程构架分成初始化、事件处理和程序结束处理3部分。
①初始化部分
该部分函数包括BF_InitializeSystem(初始化接口函数)、BF_GetTotalCard(获取语音卡数目函数)、BF_GetTotalChannel(获取通道数目函数)、BF_GetChannnelType(获取通道类型函数)、BF_OpenChannel(打开通道函数)和BF_OpenSpecialChannel(打开特殊通道函数)等函数。这些函数仅仅在应用程序初始化时调用一次,用来初始化语音卡系统和各个通道。
②事件处理部分
语音卡的编程采用流行的事件驱动方式进行编程,即用户应用程序需要创建一个线程,在这个线程中,不断地调用函数BF_GetMessage(),如果有事件返回,就处理事件,然后继续调用该函数。
③程序结束
在应用程序退出前,调用语音卡的相关函数清理系统,恢复电话线的状态,这些函数有BF_GetMessage和BF_CloseSystem等。
(2)上位机软件设计
软件调用了语音卡的库文件,并通过调用其中的API函数来对语音卡进行控制,实现了对任何一路电话的监听、录音、插话和放音等功能。软件还可以设定任何一路的通话时间,在结束通话的最后3 min会有提示音进行语音提示。而且通过广播,劳教所干警可以告知他们通话所注意的事项。如果某一路有违反规定的通话事项,劳教所干警可以通过软件切断该路的通话。监听系统会将所有的通话录音储存起来,如果想查询某服刑人员的录音,则可以通过查询系统查找并播放出来。监听录音界面如图6所示。
3.5 数据库
采用SQL 2005设计了数据库用来储存数据,数据库连接采用ADO技术,通过SQL语言对数据库进行数据操作[4]。数据库中一共建了3个表,分别是帐号密码表、服刑人员信息表和亲属信息表,其中服刑人员信息表与会见亲属信息表建立了关联。上位机软件运用SQL语言可以对数据库信息进行查找、删除、添加和修改,因此只需要通过身份证读卡器读出亲属信息,软件就会自动查找出其相关联的服刑人员,并显示在页面上。这样既方便了对大量数据的管理,又使会见简单易行[5]。数据库ER图如图7所示。
本方案设计了一套劳教所的会见监听管理系统,通过语音卡和继电器实现了对会见电话的通断、监听、插话、录音和放音等功能。而且利用上位机软件和数据库实现了对劳教所服刑人员及其会见家属的有效管理,使劳教所的管理更趋向于信息化管理,从而节约了大量的人力、物力资源,使劳教所的管理更加便捷、有效。
参考文献
[1] 牛晓华,穆道生,赵洪利.基于语音卡的电话语音系统设计与实现[J].指挥技术学院学报,1998,9(3):90-93.
[2] 孙鹏,王宜怀.基于嵌入式以太网的二代身份证读卡器设计[J].军民两用技术与产品,2008,42(4):42-45.
[3] 李宽,张志红.基于第二代身份证智能识别的新生入学电子注册系统开发[J].昆明学院学报,2009,31(6):77-81.
[4] 吴晨,牛江川,李素娟.SQL Server 2005数据库开发与实例[M].北京:清华大学出版社,2008.
[5] 王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2005.