📄 phonecarddevice.html
字号:
<H2>Documentation</H2><BLOCKQUOTE>Initializes a QuickNet PhoneCARD and handles hardware control</BLOCKQUOTE><DL><A NAME="PhoneCardDevice"></A><A NAME="DOC.25.1"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PhoneCardDevice( const char* deviceName, Sptr < Fifo < Sptr < Event > > > inputQ, Sptr < Fifo < Sptr < Event > > > outputQ )</B></TT><DD>Creates a hardware object to control a single port gateway. <DL><DT><DT><B>Parameters:</B><DD><B>deviceName</B> - <!1><A HREF="UaTimerEvent.html#DOC.43.5">name</A> of PhoneCARD linux system <!1><A HREF="RtpThread.html#DOC.27.6">device</A><BR><B>inputQ</B> - input queue to the hardware<BR><B>outputQ</B> - output queue to the hardware<BR><DD></DL><P><A NAME="~PhoneCardDevice"></A><A NAME="DOC.25.2"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~PhoneCardDevice()</B></TT><DD>Destructor<DL><DT><DD></DL><P><A NAME="hardwareMain"></A><A NAME="DOC.25.3"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void* hardwareMain(void* parms)</B></TT><DD>Starts the main processing loop of the hardware<DL><DT><DT><B>Parameters:</B><DD><B>parms</B> - <BR><DD></DL><P><A NAME="addToFdSet"></A><A NAME="DOC.25.4"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int addToFdSet(fd_set* fd)</B></TT><DD>Add device's socket to the fd (File Descriptor)<DL><DT><DT><B>Parameters:</B><DD><B>fd</B> - File Descriptor<BR><DT><B>Returns:</B><DD> 0 if successful, error code otherwise<BR><DD></DL><P><A NAME="process"></A><A NAME="DOC.25.5"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int process(fd_set* fd)</B></TT><DD>Process all pending hardware events<DL><DT><DT><B>Parameters:</B><DD><B>fd</B> - File Descriptor<BR><DT><B>Returns:</B><DD> 0 if successful, error code otherwise<BR><DD></DL><P><A NAME="audioStart"></A><A NAME="DOC.25.6"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int audioStart(const HardwareAudioRequest& request)</B></TT><DD>Start audio channel on device<DL><DT><DT><B>Parameters:</B><DD><B>request</B> - <BR><DT><B>Returns:</B><DD> 0 if successful, errorcode otherwise<BR><DD></DL><P><A NAME="audioStop"></A><A NAME="DOC.25.7"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int audioStop()</B></TT><DD>Stops audio channel on device<DL><DT><DT><B>Returns:</B><DD> 0 if successful, error code otherwise<BR><DD></DL><P><A NAME="audioSuspend"></A><A NAME="DOC.25.8"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int audioSuspend()</B></TT><DD>Suspend audio channel on device<DL><DT><DT><B>Returns:</B><DD> 0 if successful, error code otherwise<BR><DD></DL><P><A NAME="audioResume"></A><A NAME="DOC.25.9"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int audioResume(const HardwareAudioRequest& request)</B></TT><DD>Resume audio channel on device<DL><DT><DT><B>Parameters:</B><DD><B>request</B> - <BR><DT><B>Returns:</B><DD> 0 if successful, error code otherwise<BR><DD></DL><P><A NAME="processRTP"></A><A NAME="DOC.25.10"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void processRTP()</B></TT><DD>process RTP audio packets<DL><DT><DD></DL><P><A NAME="getRtpPort"></A><A NAME="DOC.25.11"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual int getRtpPort()</B></TT><DD>Instantiates a rtp session and reserves a rtp port<DL><DT><DT><B>Returns:</B><DD> reserved RTP port<BR><DD></DL><P><A NAME="releaseRtpPort"></A><A NAME="DOC.25.12"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void releaseRtpPort()</B></TT><DD>Release the port and deallocate the rtp session<DL><DT><DD></DL><P><A NAME="getRingbackTone"></A><A NAME="DOC.25.13"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getRingbackTone(char* , int size)</B></TT><DD>???<DL><DT><DD></DL><P><A NAME="onhookOrFlash"></A><A NAME="DOC.25.14"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void onhookOrFlash()</B></TT><DD>Used to determine when an onhook event becomes a flash event<DL><DT><DT><B>See Also:</B><DD>deviceEventFlash<BR><DD></DL><P><A NAME="startSendRingback"></A><A NAME="DOC.25.15"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void startSendRingback()</B></TT><DL><DT><DD></DL><P><A NAME="stopSendRingback"></A><A NAME="DOC.25.16"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void stopSendRingback()</B></TT><DL><DT><DD></DL><P><A NAME="provideDialToneStart"></A><A NAME="DOC.25.17"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideDialToneStart()</B></TT><DL><DT><DD></DL><P><A NAME="provideDialToneStop"></A><A NAME="DOC.25.18"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideDialToneStop()</B></TT><DL><DT><DD></DL><P><A NAME="provideRingStart"></A><A NAME="DOC.25.19"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideRingStart()</B></TT><DL><DT><DD></DL><P><A NAME="provideRingStop"></A><A NAME="DOC.25.20"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideRingStop()</B></TT><DL><DT><DD></DL><P><A NAME="provideLocalRingbackStart"></A><A NAME="DOC.25.21"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideLocalRingbackStart()</B></TT><DL><DT><DD></DL><P><A NAME="provideLocalRingbackStop"></A><A NAME="DOC.25.22"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideLocalRingbackStop()</B></TT><DL><DT><DD></DL><P><A NAME="provideBusyToneStart"></A><A NAME="DOC.25.23"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideBusyToneStart()</B></TT><DL><DT><DD></DL><P><A NAME="provideBusyToneStop"></A><A NAME="DOC.25.24"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideBusyToneStop()</B></TT><DL><DT><DD></DL><P><A NAME="provideFastBusyToneStart"></A><A NAME="DOC.25.25"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideFastBusyToneStart()</B></TT><DL><DT><DD></DL><P><A NAME="provideFastBusyToneStop"></A><A NAME="DOC.25.26"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideFastBusyToneStop()</B></TT><DL><DT><DD></DL><P><A NAME="provideCallInfo"></A><A NAME="DOC.25.27"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideCallInfo(string, string, string)</B></TT><DD>Currently used only in VmcpDevice<DL><DT><DD></DL><P><A NAME="provideDtmf"></A><A NAME="DOC.25.28"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideDtmf(DeviceSignalType)</B></TT><DD>Prints dtmf digit or symbol to stdout<DL><DT><DD></DL><P><A NAME="killTone"></A><A NAME="DOC.25.29"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void killTone()</B></TT><DD>Sends ioctl to hardware to stop dialtone<DL><DT><DD></DL><P><A NAME="provideCallWaitingBeepStart"></A><A NAME="DOC.25.30"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideCallWaitingBeepStart()</B></TT><DL><DT><DD></DL><P><A NAME="provideCallWaitingBeepStop"></A><A NAME="DOC.25.31"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideCallWaitingBeepStop()</B></TT><DL><DT><DD></DL><P><A NAME="provideTone"></A><A NAME="DOC.25.32"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void provideTone( PhoneCardTone tone )</B></TT><DD>Provide simulated tones by playing corresponding audio file<DL><DT><DD></DL><P><A NAME="sessionQ"></A><A NAME="DOC.25.33"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>Sptr< Fifo < Sptr < Event > > > sessionQ</B></TT><DD>Output queue to notify endpoint of occurence of hardware events<DL><DT><DD></DL><P><A NAME="audioActive"></A><A NAME="DOC.25.34"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool audioActive</B></TT><DD>true if RTP audio packets are being processed<DL><DT><DD></DL><P><A NAME="audioHalfActive"></A><A NAME="DOC.25.35"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool audioHalfActive</B></TT><DD>true if only sending RTP audio packets<DL><DT><DD></DL><P><A NAME="playDialTone"></A><A NAME="DOC.25.36"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool playDialTone</B></TT><DD>Used to turn off dialtone after pressing a digit<DL><DT><DD></DL><P><A NAME="audioStack"></A><A NAME="DOC.25.37"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>RtpSession* audioStack</B></TT><DD>RTP session variables<DL><DT><DD></DL><P><A NAME="ringbackFd"></A><A NAME="DOC.25.38"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int ringbackFd</B></TT><DD>variables for remote ringback tone<DL><DT><DD></DL><P><A NAME="deviceMutex"></A><A NAME="DOC.25.39"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>VMutex deviceMutex</B></TT><DD>This is used to lock the RTP thread and the hardware thread so thatthey don't access the hardware device simultaneously<DL><DT><DD></DL><P><A NAME="stdinFD"></A><A NAME="DOC.25.40"></A><DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int stdinFD</B></TT><DD>needed for proper terminal control<DL><DT><DD></DL><P></DL><HR><DL><DT><B>This class has no child classes.</B></DL><DL><DT><DT><B>Author:</B><DD>zolli<DT><B>See Also:</B><DD>QuickNetDevice<BR>NullHwDevice<BR><!1><A HREF="ResGwDevice.html">ResGwDevice</A><BR><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR><table align="center" border="0" cellspacing="0" cellpadding="10" width="100%"> <tr> <td align="center" valign="center" bgcolor="#8C0042" width="33%"> <a href="index.html"> <font face="PrimaSans BT,Verdana,sans-serif" color="white"> Table of Contents</font></a> </td> <td align="center" valign="center" bgcolor="#8C0042" width="34%"> <a href="HIER.html"> <font face="PrimaSans BT,Verdana,sans-serif" color="white"> Class Hierarchy</font></a> </td> <td align="center" valign="center" bgcolor="#8C0042" width="33%"> <a href="HIERjava.html"> <font face="PrimaSans BT,Verdana,sans-serif" color="white"> Class Diagrams</font></a> </tr> </tr></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -