You are on page 1of 498

Guia do Programador

Sistema de Desenvolvimento para placas Digivoice.

MAN0048 - Verso: 4.3.0.0


Copyright 2010 Digivoice Eletrnica

Contedo

Introduo Recursos para o Desenvolvedor Primeiros Passos


14. 14. 16. 19. 20. 20. 22. 23. 25. 26.
Windows 32/64 bits Instalao no Windows Testando a placa instalada Linux Instalao no Linux Preparando o ambiente Mdulos do kernel Compilando a VoicerLib Exemplo em linguagem C

Guia de Programao
28. 32. 33. 41. 44. 45. 46. 47. 48. 60. 61. 63.
Conceitos Bsicos - API Conceitos Bsicos - ActiveX Guia de Migrao de Verses Anteriores Instrues de instalao de placas Inicializando os Servios Finalizando os Servios Detectando Ring Atendendo e Desligando Superviso de Linha Deteco de Silncio Deteco de Tons Deteco de Dgitos

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

Contedo

67. 68. 71. 77. 79. 81. 84. 91. 92. 93. 97. 98. 99. 101. 101. 102. 102. 104. 105. 107. 109. 110. 110. 111. 114. 115. 116. 117. 117. 118. 120. 121. 122.

Identificao de Chamadas Portas Virtuais Gravando uma Conversa Reproduzindo Mensagens Conferncia entre portas Streaming de udio Utilizando a placa VB0404GSM Gravao em Paralelo Placas FXO Placas E1 Programao das Placas E1 Configuraes de Sincronismo Alarmes Protocolo CAS Customizado Introduo CAS Customizado Protocolo ISDN PRI Inicializao Protocolo ISDN PRI Funes de Controle da Thread ISDN PRI Efetuando Chamadas Recebendo Chamadas Finalizando Chamadas Protocolo R2D MFC Inicializao Protocolo R2D MFC Efetuando Chamadas Recebendo Chamadas Funes de Controle da Thread R2 Depurando aplicativos para placas E1 com R2MFC Funes Especiais Introduo Funes Especiais Funes de Idle Funes de Prompt Funes de Menu Funes de Discagem e Transferncia

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

Contedo

125. 126. 127. 128. 129. 133.

Reproduzindo Data Reproduzindo Nmeros Cardinais Reproduzindo Nmeros Dgito a Dgito Reproduzindo Valores por Extenso Reproduzindo Lista de Mensagens Distribuindo uma Aplicao

Guia de Referncia
134. 140. 141. 142. 143. 144. 145. 146. 148. 149. 150. 151. 152. 157. 160. 163. 165. 167. 169. 170. 172. 174. 176. 177. 179. 181. 183.
Mensagens de Erro Funes/Mtodos AbortCall AudioMonitor (dg_AudioMonitor) CancelGetDigits (dg_CancelGetDigits) ChatAddPort (dg_ChatAddPort) ChatDisablePort (dg_ChatDisablePort) ChatEnablePort (dg_ChatEnablePort) ChatRemovePort (dg_ChatRemovePort) CheckCode (dg_CheckCode) ClearDigits (dg_ClearDigits) ConnectAudioChannels (dg_ConnectAudioChannels) ConfigCallProgress (dg_ConfigCallProgress) ConfigCustomCAS (dg_ConfigCustomCAS) ConfigE1Thread (dg_ConfigE1Thread) ConfigGSMThread (dg_ConfigGSMThread) ConfigISDNThread (dg_ConfigISDNThread) CreateCallProgress (dg_CreateCallProgress) CreateChatRoom (dg_CreateChatRoom) CreateCustomCAS (dg_CreateCustomCAS) CreateE1Thread (dg_CreateE1Thread) CreateGSMThread (dg_CreateGSMThread) CreateISDNThread (dg_CreateISDNThread) CreateLoggerControl (dg_CreateLoggerControl) CreateLoggerCCS (dg_CreateLoggerCCS) DefinePortResource (dg_DefinePortResource) DestroyCallProgress (dg_DestroyCallProgress)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

Contedo

184. 185. 186. 187. 188. 189. 190. 191. 192. 194. 195. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 213. 215. 216. 218. 219. 221. 222. 223. 225. 226. 228.

DestroyChatRoom (dg_DestroyChatRoom) DestroyCustomCAS (dg_DestroyCustomCAS) DestroyE1Thread (dgDestroyE1Thread) DestroyGSMThread (dg_DestroyGSMThread) DestroyISDNThread (dg_DestroyISDNThread) DestroyLoggerControl (dg_DestroyLoggerControl) DestroyLoggerCCS (dg_DestroyLoggerCCS) dg_SetEventCallback Dial (dg_Dial) DisableAGC (dg_DisableAGC) DisableAnswerDetection (dg_DisableAnswerDetection) DisableAutoFramers (dg_DisableAutoFramers) DisableCallProgress (dg_DisableCallProgress) DisableDebug (dg_DisableDebug) DisableDTMFFilter (dg_DisableDTMFFilter) DisableE1Thread (dg_DisableE1Thread) DisableEchoCancelation (dg_DisableEchoCancelation) DisableGSMThread (dg_DisableGSMThread) DisableInputBuffer (dg_DisableInputBuffer) DisableISDNThread (dg_DisableISDNThread) DisableMailBoxDetection (dg_DisableMailBoxDetection) DisablePulseDetection (dg_DisablePulseDetection) DisableSilenceDetection (dg_DisableSilenceDetection) DisconnectAudioChannels (dg_DisconnectAudioChannels) EnableAGC (dg_EnableAGC) EnableAnswerDetection (dg_EnableAnswerDetection) EnableCallProgress (dg_EnableCallProgress) EnableDebug (dg_EnableDebug) EnableDTMFFilter (dg_EnableDTMFFilter) EnableE1Thread (dg_EnableE1Thread) EnableEchoCancelation (dg_EnableEchoCancelation) EnableFSKDetection (dg_EnableFSKDetection) EnableGSMThread (dg_EnableGSMThread) EnableInputBuffer (dg_EnableInputBuffer) EnableISDNThread (dg_EnableISDNThread) EnableMailBoxDetection (dg_EnableMailBoxDetection) EnablePulseDetection (dg_EnablePulseDetection)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

Contedo

230. 232. 234. 235. 237. 238. 239. 243. 245. 246. 247. 248. 249. 250. 251. 252. 253. 255. 256. 258. 259. 260. 261. 262. 264. 265. 267. 268. 269. 270. 271. 272. 273. 274. 277. 278. 279.

EnableSilenceDetection (dg_EnableSilenceDetection) Flash (dg_Flash) ForceSingleSpan (dg_ForceSingleSpan) GenerateMF (dg_GenerateMF) GetAbsolutePortNumber (dg_GetAbsolutePortNumber) GetAlarmStatus (dg_GetAlarmStatus) GetBusyCause (dg_GetBusyCause) GetCallerID (dg_GetCallerID) GetCardBus (dg_GetCardBus) GetCardInfo (dg_GetCardInfo) GetCardInterface (dg_GetCardInterface) GetCardNumber (dg_GetCardNumber) GetCardPortsCount (dg_GetCardPortsCount) GetCardsCount (dg_GetCardsCount) GetCardSlot (dg_GetCardSlot) GetCardType (dg_GetCardType) GetDigits (dg_GetDigits) GetDriverEnabled (dg_GetDriverEnabled) GetE1Number (dg_GetE1Number) GetE1ThreadStatus (dg_GetE1ThreadStatus) GetISDNThreadStatus (dg_GetISDNThreadStatus) GetLibVersion (dg_GetLibVersion) GetLoggerCallType (dg_GetLoggerCallType) GetNameID (dg_GetNameID) GetPlayFormat (dg_GetPlayFormat) GetPortCardType (dg_GetPortCardType) GetPortInterface (dg_GetPortInterface) GetPortsCount (dg_GetPortsCount) GetPortStatus (dg_GetPortStatus) GetRecordFormat (dg_GetRecordFormat) GetRelativeChannelNumber (dg_getRelativeChannelNumber) GetText (dg_GetText) GetVersion (dg_GetVersion) GSMCallControl (dg_GSMCallControl) GSMCheckSignalQuality (dg_GSMCheckSignalQuality ) GSMClearAllSMS (dg_GSMClearAllSMS) GSMDeleteSMS (dg_GSMDeleteSMS)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

Contedo

280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 294. 296. 297. 298. 299. 300. 301. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 314. 315. 317. 319. 320. 321. 322.

GSMGetIndexList (dg_GSMGetIndexList) GSMGetLastCommand (dg_GSMGetLastCommand) GSMGetMemory (dg_GSMGetMemory) GSMGetMessage (dg_GSMGetMessage) GSMGetSignalQuality (dg_GSMGetSignalQuality) GSMGetSMS (dg_GSMGetSMS) GSMGetSMSConfirmation (dg_GSMGetSMSConfirmation) GSMListSMS (dg_GSMListSMS) GsmRawToWave (dg_GsmRawToWave) GsmRawToWave49 (dg_GsmRawToWave49) GSMReadAndDeleteSMS (dg_GSMReadAndDeleteSMS) GSMRestartPort (dg_GSMRestartPort) GSMSendCommand (dg_GSMSendCommand) GSMSendSMS (dg_GSMSendSMS) GSMSetPinNumber (dg_GSMSetPinNumber) GsmToWave (dg_GsmToWave) GsmToWave49 (dg_GsmToWave49) HangUp (dg_HangUp) IdleAbort (dg_IdleAbort) IdleSettings (dg_IdleSettings) IdleStart (dg_IdleStart) IsCallInProgress IsPlaying (dg_IsPlaying) IsRecording (dg_IsRecording) LocalBridgeConnect (dg_LocalBridgeConnect) LocalBridgeDisconnect (dg_LocalBridgeDisconnect) MakeCall MenuAbort MenuErrorSettings MenuStart PauseInputBuffer (dg_PauseInputBuffer) PickUp (dg_PickUp) PlayBuffer (dg_PlayBuffer) PlayCardinal PlayCurrency PlayDate PlayFile (dg_PlayFile)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

Contedo

324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 335. 336. 337. 338. 339. 341. 342. 344. 345. 346. 347. 348. 350. 352. 354. 355. 357. 358. 359. 360. 361. 363. 365. 366. 367. 368. 369.

PlayList PlayListAdd PlayListClear PlayListGetCount PlayListRemoveItem PlayNumber PlayTime PromptAbort PromptSettings PromptStart R2AskForGroupII (dg_R2AskForGroupII) R2AskForID (dg_R2AskForId) R2SendGroupB (dg_SendGroupB) ReadDigits (dg_ReadDigits) RecordFile (dg_RecordFile) RecordPause (dg_RecordPause) ResetError (dg_ResetError) ResetPortResource (dg_ResetPortResource) ReturnCodeGSMToString (dg_ReturnCodeGSMToString) ReturnCodeToString (dg_ReturnCodeToString) ReturnCodeToStringCauseBusy (dg_ReturnCodeToStringCauseBus SendISDNCommand (dg_SendISDNCommand) SendR2Command (dg_SendR2Command) SetAlarmMode (dg_SetAlarmMode) SetAudioInputCallback (dg_SetAudioInputCallback) SetBearerCapability (dg_SetBearerCapability) SetCallAfterAnswer SetCallAfterPickup SetCallBusyPhrase SetCallBusyReturnFlash SetCalledNumber (dg_SetCalledNumber) SetCallingNumber (dg_SetCallingNumber) SetCallFlashTime SetCallNoAnswerPhrase SetCallNoAnswerReturnFlash SetCallNoAnswerRingCount SetCallPauseBeforeAnalysis

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

Contedo

370. 371. 372. 374. 376. 378. 380. 382. 384. 385. 386. 388. 390. 392. 394. 395. 396. 398. 400. 401. 403. 405. 407. 409. 410. 412. 413. 414. 416. 418. 419. 421. 422. 424. 425. 426. 427.

SetCallStartFlash SetCallWaitForDialTone SetCardDetections (dg_SetCardDetections) SetCardSyncMode (dg_SetCardSyncMode) SetDetectionType (dg_SetDetectionType) SetDialDelays (dg_SetDialDelays) SetDigitFrequency(dg_SetDigitFrequency) SetDigitGain(dg_SetDigitGain) SetDTMFConfig (dg_SetDTMFConfig) SetE1CRC4Option (dg_SetE1CRC4Option) SetFastDetection (dg_SetFastDetection) SetFaxFrequencies (dg_SetFaxFrequencies) SetFramerLoop (dg_SetFramerLoop) SetFrequency (dg_SetFrequency) SetFXCardType (dg_SetFXCardType) SetGSMMode (dg_SetGSMMode) SetHangUpCause (dg_SetHangUpCause) SetLoggerSilenceThreshold (dg_SetLoggerSilenceThreshold) SetNameID (dg_SetNameID) SetNextE1RxCount (dg_SetNextE1RxCount) SetPlayFormat (dg_SetPlayFormat) SetPortChatLog(dg_SetPortChatLog) SetPortGain (dg_SetPortGain) SetPortID (dg_SetPortID) SetRecordFormat (dg_SetRecordFormat) SetReverseCharging (dg_SetReverseCharging) SetRecordGain (dg_SetRecordGain) SetSilenceThreshold (dg_SetSilenceThreshold) SetStartE1RxCount (dg_SetStartE1RxCount) SetText (dg_SetText) SetTwist (dg_SetTwist) ShutdownVoicerLib (dg_ShutdownVoicerLib) StartVoicerLib (dg_StartVoicerLib) StopPlayBuffer (dg_StopPlayBuffer) StopPlayFile (dg_StopPlayFile) StopRecordFile (dg_StopRecordFile) TxRxMixEnable (dg_TxRxMixEnable)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

Contedo

428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464.

Wave49ToGsm (dg_Wave49ToGsm) Wave49ToGsmRaw (dg_Wave49ToGsmRaw) WaveToGsm (dg_WaveToGsm) WaveToGsmRaw (dg_WaveToGsmRaw) WriteCode (dg_WriteCode) Eventos OnAfterDial (EV_AFTERDIAL) OnAfterFlash (EV_AFTERFLASH) OnAfterMakeCall OnAfterPickUp (EV_AFTERPICKUP) OnAnswerDetected (EV_ANSWERED) OnAudioSignalDetected (EV_AUDIO_SIGNAL) OnBusyDetected (EV_BUSY) OnCallerID (EV_CALLERID) OnCalling (EV_CALLING) OnCallStateChange OnChannel (EV_CHANNEL) OnDialToneDetected (EV_DIALTONE) OnDigitDetected (EV_DTMF) OnDigitsReceived (EV_DIGITSRECEIVED) OnE1Alarm (EV_E1_ALARM) OnE1FramerResponse (EV_FRAMER) OnE1GroupB (EV_GROUP_B) OnE1StateChange (EV_E1CHANGESTATUS) OnErrorDetected (EV_ERRORDETECTED) OnErrorNodeConfig (EV_ERROR_NODE_CONFIG) OnFaxDetected (EV_FAX) OnGSMSMSConfirmation (EV_GSMSMSCONFIRMATION) OnGSMError (EV_GSMERROR) OnGSMMemory (EV_GSMMEMORY) OnGSMMemoryFull (EV_GSMMEMORYFULL) OnGSMMessage (EV_GSMMESSAGE) OnGSMOtherCall (EV_GSMOTHERCALL) OnGSMReady (EV_GSMREADY) OnGSMReturnOK (EV_GSMRETURNOK) OnGSMSIM (EV_GSMSIM)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

10

Contedo

465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 486. 487.

OnGSMSignalQuality (EV_GSMSIGNALQUALITY) OnGSMSMSReceived (EV_GSMSMSRECEIVED) OnGSMSMSSent (EV_GSMSMSSENT) OnGSMTimeout (EV_GSMTIMEOUT) OnLineOff (EV_LINEOFF) OnLineReady (EV_LINEREADY) OnLoggerEvent (EV_LOGGEREVENT) OnMailBoxDetected(EV_MBDETECTED) OnMenu OnNameID (EV_NAMEID) OnPlayStart (EV_PLAYSTART) OnPlayStop (EV_PLAYSTOP) OnPrompt OnR2Received (EV_R2) OnRecording (EV_RECORDING) OnRecordStart (EV_RECORDSTART) OnRecordStop (EV_RECORDSTOP) OnReverseCharging (EV_REVERSECHARGING) OnRingDetected (EV_RINGS) OnSilenceDetected (EV_SILENCE) OnText (EV_TEXT) Propriedades exclusivas do ActiveX ConfigPath StockSigPath

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

11

Introduo

Bem vindo ao Guia do Programador da VoicerLib 4! A VoicerLib 4 a verso da VoicerLib para a famlia de placas DigiVoice tanto para Windows como para Linux. As placas suportadas so: Todos os modelos de placas digitais E1 Placa FXO de 4 ou 8 canais Placa GSM 2 ou 4 canais Placa FXS

As placas VoicerBox PCI/1 e VoicerPhone PCI/4 no so suportadas por esta verso da VoicerLib. Para estes modelos deve ser utilizada a VoicerLib 2.x para Windows e a VoicerLib 3.1.x para Linux.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

12

Recursos para o Desenvolvedor

Ao adquirir as placas DigiVoice e a VoicerLib, o desenvolvedor pode fazer download de uma coleo de exemplos prontos em nosso site www.digivoice.com.br com o objetivo de explicar o funcionamento das diversas funes da VoicerLib. Alm disso, o desenvolvedor tem disponvel a rea de suporte do site da DigiVoice na internet, atravs do endereo http://www.digivoice.com.br/suporte. L, esto disponveis o Frum de Discusses, Arquivos para Download (exemplos atualizados, instaladores, manuais etc..), Documentos Tcnicos e uma seo de Perguntas Frequentes para ajudar o desenvolvedor nas dvidas mais comuns. muito importante tambm ler com ateno toda a seo Guia de Programao deste manual pois contm toda a base necessria para programar com as placas DigiVoice, importante para novatos ou para desenvolvedores que j trabalharam com outros hardwares.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

13

Primeiros Passos

Neste captulo ser discutido os passos necessrios para instalar a VoicerLib e executar os primeiros procedimentos para verificar se tudo est funcionando corretamente.

Windows
32/64 bits

Utilizando a VoicerLib em Windows 32 bits e 64 bits O sistema operacional Windows oferecido em verses para 32 e 64 bits, a VoicerLib, a partir da verso 4.3.0.0, est disponvel para rodar em 32 bits e 64 bits. Apesar do Windows permitir que aplicaes de 32 bits rodem em sistemas operacionais de 64 bits a VoicerLib no tem esta opo porque a VoicerLib interage diretamente com o hardware atravs dos drivers das placas e a comunicao tem que ser de 64 bits para 64 bits, ou seja, para um Windows de 64 bits s ser instalada a verso de 64 bits. Compatibilidade A partir da verso 4.3.0.0 da VoicerLib, muitas alteraes internas foram feitas no sentido de adapt-la ao Windows 64 bits e a otimizaes visando maior desempenho, mas o desenvolvimento de aplicativos manteve-se totalmente compatvel com as verses anteriores. Programas de teste A VoicerLib fornecida com alguns programas de teste para suas placas FXO, FXS, E1 e GSM. Estes programas foram compilados para 32 bits e 64 bits. Como estes programas foram desenvolvidos com uma ferramenta Microsoft que utiliza a

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

14

Primeiros Passos
Windows
tecnologia .NET, necessrio que um pacote Microsoft .NET Framework esteja instalado no computador onde a VoicerLib for instalada para que os programas de testes rodem. No setup de instalao da VoicerLib (no final da instalao) h a opo de instalar o Microsoft .NET Framework v.2.0. Se o computador j possuir um framework instalado, no necessrio instalar o framework do setup da VoicerLib. A VoicerLib no depende do Microsoft .NET Framework para ser utilizada, somente os programas de teste. Visual Studio Por enquanto, o Visual Studio da Microsoft (2008 e 2010), como a maioria dos programas atuais, uma aplicao de 32 bits que permite o desenvolvimento de aplicaes de 64 bits. Isto tem uma implicao na importao de componentes OCX como a VoicerLib e desenvolvimento de aplicativos de 64 bits. Quando uma aplicao de 32 bits roda no Windows de 64 bits, o sistema operacional roda a aplicao utilizando a interface WOW64, que "Windows on Windows 64", ou se for instalado um componente ou dll 32 bits no Windows 64, estes componente sero instalados na pasta "sysWOW64" ao invs da pasta "system32" (padro do Windows). Mesmo sendo meio confuso, a Microsoft optou por manter o nome system32 para a pasta de instalao dos componentes ou dll de 64 bits em um Windows de 64 bits. Ao se desenvolver uma aplicao que exija um componente OCX de 64 bits, como a VoicerLib, ser necessrio instalar uma OCX de 32 bits para o desenvolvimento de aplicativos, mesmo com a opo de compilao para gerar executveis de 64 bits. Ao ser instalada, a Voicerlib coloca uma OCX de 32 bits na pasta "sysWOW64" e uma de 64 bits na pasta "system32", mas o componente a ser importado no Visual Studio tem que ser o de 32 bits da pasta "sysWOW64".

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

15

Primeiros Passos
Windows Instalao no Windows
Requisitos mnimos de instalao: Windows XP/2000/2003 Processador Core 2 Duo 1 GB de memria Sistemas Operacionais suportados (32 bits e 64 bits): Windows Windows Windows Windows Windows XP Professional SP1/SP2/SP3 2003 Server Vista Business 2008 Server 7

Quantidade mxima de placas por computador : 10 placas Programa de instalao da VoicerLib4: setup_vlib.exe - Programa de instalao para o desenvolvedor, contendo os drivers e a documentao. A instalao fsica das placas DigiVoice explicada pelo manual Kit Integrador que fornecido impresso acompanhando o hardware. Quanto instalao do software leia os tpicos a seguir deste manual. Se voc j instalou fisicamente a placa, o Windows a reconhecer na primeira inicializao. Se voc no instalou o software ainda, simplesmente cancele a tela que o Windows mostrar. Em seguida, localize e execute o arquivo de instalao da voicerib chamado setup_vlib.exe (que est no CD adquirido ou no site da Digivoice). Aps seguir os passos indicados, reinicie o computador quando isso for solicitado pelo programa de instalao. Ao reiniciar, o Windows mostrar novamente que detectou um novo hardware (Controlador Multimedia). Desta vez, siga os

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

16

Primeiros Passos
Windows
passos para instalao do hardware. O Windows perguntar se voc quer instalar automaticamente ou a partir de um caminho especfico. Escolha a segunda opo, apontando para o diretrio escolhido na instalao, o caminho padro \%PROGRAM FILES%\VoicerLib4. Isto dever ser suficiente para que o Windows reconhea a placa, como por exemplo "Digivoice VB3030PCIE". Se tudo estiver correto, a placa estar pronta para ser utilizada. Caso tenha alguma dvida, acesse o Gerenciador de Dispositivos do Windows, que dever apresentar um novo item Digivoice:

Gerenciador de dispositivos - Dispositivos por tipo

O programa de instalao criar o grupo de programas em seu menu Iniciar, com o nome Digivoice VoicerLib4 contendo: Configurador da placa E1 - Programa de configurao e testes Programa para placa GSM - Exemplo de funcionalidade da placa

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

17

Primeiros Passos
Windows
GSM Programa de diagnsticos Vlib_Diag 0408 - Programa de testes para a placa VB0408 Programa de diagnsticos Vlib_Diag 0404FX - Programa de testes para a placa VB0404FX Monitor de Sinalizao R2MFC (E1) Manual do Kit Integrador Link para o site da DigiVoice Atalho para remover a instalao

Em nosso site www.digivoice.com.br esto disponveis diversos exemplos e o manual do programador.

Caso a instalao seja feita em um computador de sistema operacional Vista/W2008/W7 ou superior, e por algum motivo esta placa sejam reinstalada em uma mquina XP/2000/2003, necessrio executar um arquivo chamado VlibUpdateRetro.exe, que est no diretrio: \%PROGRAM FILES%\VoicerLib4\VlibUpdateRetro\. Execute o arquivo e se ocorrer algum erro, aparecer na tela e ser necessrio apertar alguma tecla para continuar, nesse caso, entre em contato com a Digivoice e nos informe a mensagem de erro, caso execute com sucesso apenas uma tela de atualizao aparecer rapidamente, obrigatrio a reinicializao do computador.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

18

Primeiros Passos
Windows Testando a placa instalada
Nesse tpico iremos mostrar o teste passo a passo de uma placa E1. Placa E1 Para verificar se a placa E1 foi corretamente instalada e est operacional, execute o programa Configurador da placa E1 que est no menu Iniciar do Windows, sob o grupo Digivoice VoicerLib4. A seguinte tela aparecer:

Tela do configurador E1

A primeira ao a fazer clicar sobre a opo Detectar Placas, no menu apresentado na parte inferior esquerda da janela. O Configurador iniciar a deteco e inicializao das placas.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

19

Primeiros Passos
Windows
Com isso, possvel ter certeza que as placas foram corretamente instaladas e esto operacionais.

Linux
Instalao no Linux
Requisitos mnimos de instalao: Celeron 1 Ghz com 256Mb de memria Distribuio Linux com kernel verso 2.4.x. ou 2.6.x Quantidade mxima de placas por computador : 7 placas O arquivo que contm todo o material necessrio chama-se voicerlib-4.x.x.tar.gz (4.x.x ser a verso corrente) sendo que para descompact-lo, utilize o comando: tar xvzf voicerlib-4.x.x.x.tar.gz Com isso, o diretrio voicerlib-4.x.x.x ser criado contendo os fontes da voicerlib e do device driver.

- voicerlib-4.x.x.x Contm os arquivos relativos API | |___/driver/linux | |__ Device driver para as placas DigiVoice. | |___/firmware | |__ Arquivos dos firmwares das placas e outros de configurao (CallProgress, etc...) | |___/samples/dll_so | |__ c - programa exemplo/teste desenvolvido em ANSI C | |___/src_common

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

20

Primeiros Passos
Linux
| |__ Cdigo-fonte da VoicerLib - arquivos comuns (multiplataforma) | ||___/src_linux | |__ Cdigo-fonte da VoicerLib (shared object) para Linux |

Para trabalhar com o Asterisk, necessrio tambm baixar e instalar o dgvchannel - channel driver para Asterisk. Acesse o site http://www.digivoice.com.br.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

21

Primeiros Passos
Linux Preparando o ambiente
Para estar apto a compilar a VoicerLib no seu ambiente ser necessrio que esteja disponvel um sistema de desenvolvimento (gcc, make, etc...) bem como os fontes do kernel. Todos estes arquivos normalmente encontram-se disponveis no CD original de sua distribuio. A VoicerLib foi desenvolvida e testada em verses 2.4 e 2.6 do kernel, utilizando o compilador gcc verso 3.0.1 ou superior (a verso 2.95 do gcc causar diversos erros de compilao). O gcc 4 tambm tem sido utilizado sem problemas. Para compilar o exemplo em C, ser necessrio a biblioteca ncurses-devel verso 5.3 ou superior. A maioria dos passos necessrios para colocao da VoicerLib e aplicativos para funcionar precisam ser executados com o usurio root, portanto todo o cuidado necessrio para no danificar o seu sistema. Lembramos que, em ambiente de produo, no necessrio que o usurio tenha direitos de administrador (alis o contrrio e recomendado). A partir da verso 4.0.5, possvel compilar e instalar todos as bibliotecas, drivers e aplicativos atravs do comando: make; make install; make config a partir do diretrio raiz.

Aps a execuo destes comandos, o ambiente j estar pronto para operar. Um teste de verificao til a execuo do programa vlib_diag que encontra-se no diretorio ../samples/dll_so. Nos prximos itens deste captulo ser explicado a compilao e instalao de cada mdulo separadamente, porm a sua execuo s ser necessria caso haja algum problema no passo que acabou de ser explicado.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

22

Primeiros Passos
Linux Mdulos do kernel
Os mdulos ou device drivers so os responsveis em criar e gerenciar a troca de dados entre o hardware e os aplicativos. Caso eles no estejam funcionando corretamente, nada mais funcionar. No sub-diretrio ../driver/linux encontram-se todos os arquivos necessrios para compilar e instalar os mdulos. O mesmo device driver responsvel por gerenciar todos os modelos de placas. Para compilar o mdulo desejado, voc precisa executar os seguintes comandos: make: compila o mdulo make install: instala o mdulo no diretrio correto e carreg-lo na memria make config: instala o mdulo na inicializao do sistema testado em Debian, Suse, RedHat e derivaes.

Aps a compilao (make) dever ser gerado o arquivo vlibd.o ou vlibd.ko Para carregar o mdulo na memria manualmente depois de reiniciar (se no tiver sido executado o make config), execute novamente o make install. Para verificar se o mdulo foi instalado corretamente, digite em linha de comando 'dmesg'. Este programa exibe informaes dos device drivers instalados. Se tudo estiver correto, voc ver uma mensagem como a apresentada a seguir: vlibd: VoicerLib Device Driver was loaded successfully! Se a mensagem exibida for diferente, aparentando algum tipo de erro, verifique e repita os passos anteriores ou mesmo se a placa

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

23

Primeiros Passos
Linux
est fisicamente instalada.

Usurios RED HAT 3.2 AS/ES ou CentOS-3, para compilar o mdulo executem: make RH3=1. Os outros procedimentos no so alterados.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

24

Primeiros Passos
Linux Compilando a VoicerLib
Como a VoicerLib multiplataforma, existem diretrios especficos para plataforma Linux e Windows. Para compilar a VoicerLib para Linux, v para o diretrio ../src_linux e execute os seguintes comandos: make make install

O comando make install copiar o arquivo resultante (libdigivoice.so.4.x.x.x) para o diretrio /usr/lib e o tornar disponvel para todas as ferramentas de desenvolvimento como uma shared object. Tambm copia os headers (*.h) para o diretrio padro /usr/include/voicerlib permitindo o uso da voicerlib por outros aplicativos. Os arquivos de configurao e firmware so instalados em /var/lib/voicerlib. Todos os aplicativos de teste iro buscar os arquivos de firmware neste diretrio como padro. O funcionamento da VoicerLib ser tratado no captulo Guia de Programao e seus comandos esto listados no captulo Guia de Referncia.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

25

Primeiros Passos
Linux Exemplo em linguagem C
O programa no diretrio ../samples/dll_so/c chama-se vlib_diag. Trata-se de um programa em modo caracter (console) que permite interagir com as placas DigiVoice. a melhor forma de testar o funcionamento da placa bem como estudar o funcionamento da API. Este projeto necessita da biblioteca ncurses-devel com verso maior ou igual a 5.3. Para compilar, digite make. Ao executar ./vlib_diag voc poder efetuar diversos testes com as placas E1, FXO, FXS e GSM.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

26

Guia de Programao

A VoicerLib 4 pode ser utilizada tanto no ambiente Windows como no Linux, sendo que existem semelhanas e algumas diferenas no modo de funcionamento da biblioteca nas duas plataformas. Semelhanas A VoicerLib tem uma camada de funes primitivas que foram implementadas na forma de uma API em C. Em Linux, utiliza-se Shared Objects e em Windows DLLs para interfacear com as aplicaes. Desta forma, apesar de ter sido construda em C, a VoicerLib API permite sua utilizao em qualquer ferramenta de desenvolvimento que tenha acesso DLLs ou SOs. Para isso, necessrio que os headers da VoicerLib API sejam traduzidos de C para a linguagem desejada. Na camada de API, a VoicerLib fornece todos os mtodos primitivos de acesso aos recursos da placa. Entenda por mtodos primitivos, todas as funes que no se enquadram na classe de funes especiais, discutidas mais adiante.

Diferenas A DigiVoice fornece, somente para ambiente Windows, um ActiveX chamado VoicerLib.OCX, que tem por objetivo facilitar a programao. Nesse conjunto, esto includas todas as funes primitivas e especiais (MakeCall, PlayList, etc...). A seguir sero mostrados os conceitos especficos de cada modo de programao. Mais a frente no manual, os conceitos diversos sero explicados independente do uso da API ou do ActiveX, sempre sendo feito meno dos mtodos e/ou funes utilizadas em cada modo. Se voc programa em Linux ou pretende programar em C para Windows acessando as funes primitivas, leia somente as descries de Conceitos Bsicos - API. Caso a plataforma utilizada seja Visual Basic, Delphi, etc... recomenda-se a utilizao do ActiveX, por isso leia as descries de Conceitos Bsicos - ActiveX.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

27

Guia de Programao

Para facilitar a documentao, as explicaes das funes API e ActiveX so feitas conjuntamente, sempre colocando a funo API e o mtodo ActiveX entre parnteses, salvo situaes em que as diferenas so explcitas.

Conceitos Bsicos - API


Para os desenvolvedores acostumados com a VoicerLib em Windows, os conceitos predominantes so as propriedades, eventos e mtodos, comuns linguagem orientada a eventos como o Visual Basic. Como a VoicerLib API foi desenvolvida para ser um Shared Object (Linux) e uma DLL (Windows), o funcionamento um pouco diferente. Numa traduo simplificada, as propriedades e mtodos sero acessados atravs de funes comuns com nome e parametrizao similar verso em Windows (ex.: o mtodo PickUp tornou-se a funo dg_pickup). Todas as funes da VoicerLib API comeam com "dg_" para evitar conflitos de nomes com outras bibliotecas dinmicas que por ventura existam no ambiente. Os eventos existentes no ActiveX em Windows so chamados pela VoicerLib de forma transparente, bastando ao programador associar uma funo a um determinado evento (ex.: OnRingDetected -> TrataRing). Em um shared-object os eventos continuam existindo, porm, a rotina que associa determinado evento (ou mensagem) a um bloco de cdigo (ou funo) passa a ser de responsabilidade do programador. Na prtica, necessrio criar uma funo que receba todos os eventos da placa. Esta funo ser chamada de Gerenciador de Eventos. Um "esqueleto" dessa funo mostrado a seguir:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

28

Guia de Programao
Conceitos Bsicos - API
void ReceiveEvents(void *context_data) { struct dg_event_data_strucuture *EventContext; /* Copy received Data */ EventContext = ((struct dg_event_data_strucuture*)context_data); switch (EventContext->command) { case EV_RING: //recebeu ring //.... case EV_DTMF: //recebeu digito //... } } Mesmo conhecendo pouco a linguagem C, fcil de perceber que o Gerenciador de Eventos recebe um parmetro chamado context_data. Neste parmetro estaro as informaes pertinentes a cada evento (porta, dgito, etc...). Caber ao programador analisar o contedo de context_data->command para saber qual evento ocorreu. A varivel context_data->port indica a porta que ocorreu o evento e a varivel context_data>data fornece um dado relativo ao evento (alguns eventos no possuem dados associados). Context_data definido como: struct dg_event_data_strucuture *context_data;

Sendo que dg_event_data_strucuture est definido no arquivo voicerlib.h conforme segue: typedef struct { unsigned short command; unsigned short data; unsigned short port; unsigned short data_aux; unsigned short card; } dg_event_data_structure;

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

29

Guia de Programao
Conceitos Bsicos - API
Um primeiro conceito que j conhecido dos desenvolvedores Windows e que foi mantido na verso Linux que todo o funcionamento da VoicerLib assncrono. Isto significa que ao executar a chamada a uma determinada funo, o programa seguir seu fluxo normal. As respostas s funes so manipuladas atravs de uma funo eleita para tratar todas as mensagens, que no exemplo a ReceiveEvents. Por exemplo, quando a funo dg_GetDigits chamada, o programa continua normalmente e s aps os dgitos serem recebidos (ou der time-out) a VoicerLib chamar a funo ReceiveEvents passando no context_data a mensagem EV_DIGITSRECEIVED e o status de retorno da funo. Este tipo de funcionamento muito importante pois a biblioteca tem que gerenciar vrias portas simultaneamente. Se a aplicao ficasse presa na execuo de uma funo, no conseguiria tratar os outros eventos das outras placas, por isso o tratamento de determinada mensagem dentro do switch-case deve ser o mais rpido possvel. A funo ReceiveEvents na verdade pode ter qualquer nome mas sempre dever receber o endereo da estrutura context_data, independente da linguagem de programao utilizada. No incio do programa, antes de iniciar a placa com o mtodo dg_StartVoicerLib, obrigatrio associar a funo de tratamento de mensagens VoicerLib atravs da funo dg_SetEventCallback. Se a associao no for feita corretamente, o programa gerar falhas de execuo (Segmentation Fault). Ento, um esqueleto de programa utilizando a VoicerLib API dever ter a seguinte caracterstica: void ReceiveEvents(void *context_data) { //Tratamento de todos os eventos vindos da placa } void main() //Inicio do programa {

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

30

Guia de Programao
Conceitos Bsicos - API
//Primeiro associa a funo callback dg_SetEventCallback(ReceivedEvents,&event_context ); //Inicia a voicerlib dg_StartVoicerLib("../../firmware"); } void finaliza() { //Finaliza o driver dg_ShutdownVoicerlib(); } Consulte o Guia de Referncia VoicerLib API a respeito de todas as funes disponveis.

As placas E1 tm um comportamento diferente em relao vrios tpicos abordados neste captulo, porm, a DigiVoice procurou deixar a manipulao destas caractersticas da maneira mais similar s placas FXO, visando minimizar o tempo de aprendizado. A leitura do tpico Programao da Placa E1 de extrema importncia para a compreenso destas diferenas e do modo de operao a serem utilizados.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

31

Guia de Programao
Conceitos Bsicos - ActiveX

Conceitos Bsicos - ActiveX


O componente VoicerLib baseado na estrutura de um looping infinito, que fica monitorando os eventos que acontecem no hardware (ring, tons, etc...) e recebendo e passando os comandos gerados a partir da aplicao (propriedades e mtodos). Devido a esta caracterstica, a maioria das funes da biblioteca so assncronas. Isto significa que ao executar a chamada a um determinado mtodo, o programa seguir seu fluxo normal. As respostas aos mtodos so manipuladas atravs de eventos especficos relativos a cada acontecimento. Por exemplo, quando o mtodo GetDigits chamado, o programa continua normalmente e s aps os dgitos serem recebidos (ou der time-out) que a resposta ao GetDigits ser tratada dentro do evento OnDigitsReceived Este tipo de funcionamento muito importante pois a biblioteca tem que gerenciar vrias portas simultaneamente. Se a aplicao ficasse presa na execuo de um mtodo, no conseguiria tratar os outros eventos das outras portas. Lembre-se que possvel que uma porta esteja reproduzindo a mensagem enquanto outra esteja recebendo um ring. Observaes importantes para reinstalar a OCX da VoicerLib Quando a verso da voicerlib for atualizada, necessrio que a aplicao seja recompilada. Em Delphi7: Apague os arquivos de nome "VoicerLib_TLB" no diretrio "\%PROGRAM FILES%\Borland\Delphi7\Imports", importe novamente a OCX no Delphi7: Component -> Import ActiveX -> Localize Digivoice VoicerLib ActiveX -> clique em Install... Em Visual Basic 6: No VB6 -> boto direito na barra lateral

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

32

Guia de Programao
Conceitos Bsicos - ActiveX
General->Components->Controls-> Selecione Digivoice->Browse -> \windows\system32\voicerlib.ocx -> Aplicar ->OK .

Guia de Migrao de Verses Anteriores


Apesar de ter como objetivo manter a biblioteca o mais compatvel possvel com as verses anteriores, algumas alteraes nos fontes sero necessrias para atualizar aplicaes para a nova verso, principalmente devido s novas tecnologias empregadas nas placas FXO e E1. Essas alteraes fizeram com que novos mtodos fossem criados, outros fossem excludos e alguns outros tiveram alteraes nos parmetros que recebem e enviam. Recomendamos a leitura deste captulo antes de efetuar a adaptao de sistemas desenvolvidos com verses anteriores da VoicerLib.

1. Mtodos/Propriedades removidas SetAnswerSensitivity Agora um parmetro do mtodo ConfigCallProgress (Maiores detalhes no captulo Superviso de Linha). SetAnswerThreshold - Esse tipo de configurao no mais necessria (veja tambm SetSilenceThreshold). SetVolume - Sem funo nas novas placas - exclusivo para placa de 1 canal com headset. SetImpedance - Sem funo nas novas placas - exclusivo para placa de 1 canal com headset. SetDTMFAttenuatingHigh/Low - A configurao de ganho de dgitos mais ampla e feita pelo mtodo SetDigitGain. SetDTMFTwist/SetToneTwist - Devido aos novos algortmos no mais necessria a configurao de twists. Propriedade CardType - Como agora permitida a mistura de placas diferentes, no possvel utilizar uma propriedade para atribuir ou ler o tipo de placa.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

33

Guia de Programao
Guia de Migrao de Verses Anteriores
SetFrequencyTime - Agora um parmetro do mtodo ConfigCallProgress (Maiores detalhes no tpico Superviso de Linha). AutoClearDigits - A propriedade foi retirada por causar certa confuso no funcionamento dos mtodos que detectavam dgito. Agora o programador dever sempre apagar explicitamente os dgitos com o mtodo ClearDigits, sempre que for necessrio. Formato ffSig - Est sendo removido gradualmente por ser idntico em tamanho ao ffWaveULaw ou ffWaveALaw. Para manter a compatibilidade, ao escolher este formato, ser utilizado no lugar o ffWaveULaw. Propriedades DelayDot, DelayComma e DelaySemicolon Foram removidas, agora necessrio utilizar o mtodo SetDialDelays. ReadEEPROM - Foi removida e ao invs dela, foi criado um mtodo CheckCode.

2. Mudanas de nome e/ou parmetros SetFastDetection - Agora para setar o modo rpido, preciso chamar este mtodo (o parmetro enable pode receber os valores DG_ENABLE /DG_DISABLE). EnableDetections - Mudou para SetDetectionType, agora a voicerlib no detecta nenhum tipo como padro. O programador deve chamar explicitamente este mtodo sempre quando for necessrio. Os mtodos de deteco mudaram bastante portanto leia atentamente o guia de referncia sobre este mtodo. Evento OnAswerDetected - Recebe um novo parmetro chamado AnswerType, indicando se o atendimento foi por deteco de udio (AUDIO_DETECTED) ou timeout (TIMEOUT_DETECTED). SetCardSyncMode para placas E1 - Para setar o sincronismo deve ser chamado o SetCardSyncMode passando como parmetros a placa e o tipo de sincronismo SYNC_INTERNAL, SYNC_LINE_A, SYNC_LINE_B. dg_StartVoicerLib - Na DLL e no SO s tem o path como parmetro (Isso no aplicado ao ActiveX) e agora retorna DG_EXIT_SUCCESS (0) no caso de sucesso e no mais 99.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

34

Guia de Programao
Guia de Migrao de Verses Anteriores
PlayBuffer - Parmetro remaining_size incluso no Active X. WriteEEPROM - Foi renomeada para WriteCode. ConfigGSMThread - O segundo parmetro possui mais possibilidades de configurao: GSMCFG_USSD_ENABLE, GSMCFG_CALL_WAITING_ENABLE, GSMCFG_RETRY_TIMEOUT e GSMCFG_ANSWER_TIMEOUT. Consulte o mtodo ConfigGSMThread. GSMClearAllGSM - Incluso segundo parmetro que indica se todas as mensagens do mdulo sero ou no apagadas. Consulte o mtodo GSMClearAllSMS. ALARM_RESERVED - A constante foi renomeada para ALARM_CRC4SYNC. Verifique em OnE1Alarm. EnableMailBoxDetection - Incluso novo parmetro silencetime. OnE1Alarm - Quando o protocolo for ISDN PRI, h mais um tipo de alarme ALARM_LINK (OnE1Alarm).

3. Novas funes/eventos Evento OnAudioSignal - Indicando para a aplicao o tipo de udio detectado. til para anlises de tipos de tom e suas cadncias. Funes de canais virtuais - Permitindo utilizar a numerao de portas independentemente da posio fsica da porta na placa. DefinePortResource Associa uma determinada porta (lgica) a uma placa/porta fsica. ResetPortResource Reseta a configurao, assumindo o padro de inicializao das funes de callprogress - O CallProgress agora mais completo e verstil. Leia atentamente o captulo de Superviso de Linha - Funes relacionadas: CreateCallProgress, ConfigCallProgress, DestroyCallProgress e EnableCallProgress. EnableAnswerDetection/DisableAnswerDetection O mtodo para habilitar deve ser chamado explicitamente aps a chamada do EnableCallProgress, para que a thread de controle de callprogress gere o evento de atendimento. EnableInputBuffer/DisableInputBuffer Agora para efetuar a gravao de portas na voicerlib, necessrio habilitar o envio

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

35

Guia de Programao
Guia de Migrao de Verses Anteriores
de amostras da placa atravs do mtodo EnableInputBuffer. Isso deve ser feito antes de chamar o RecordFile. Esta alterao foi feita para suportar streaming de udio das placas para as aplicaes diretamente. PlayBuffer / StopPlayBuffer - Envia amostras diretamente para a placa reproduzir. til para aplicaes VoIP. SetGSMMode - Pode assumir GSM_DIGIVOICE ou GSM_RAW (padro). Ambos os formatos tm a mesma codificao sendo que, no padro Digivoice inserido um cabealho no arquivo. GetPortCardType - Devolve o tipo de placa a partir da porta informada. Implementada funcionalidade de deteco de silncio, atravs dos mtodos EnableSilenceDetection/DisableSilenceDetection e do evento OnSilenceDetected. GsmToWave - Converte arquivo de udio do formato GSM para o formato Wave. GsmToWave49 - Converte arquivo de udio do formato GSM para o formato Wave (GSM 6.10 modificado). GsmRawToWave - Converte arquivo de udio do formato GSMRaw (sem cabealho) para o formato Wave. GsmRawToWave49 - Converte arquivo de udio do formato GSMRaw (sem cabealho) para o formato Wave49 (GSM 6.10 modificado). WaveToGsm - Converte arquivo de udio do formato Wave para o formato GSM. WaveToGsmRaw - Converte arquivo de udio do formato Wave para o formato GsmRaw (sem cabealho). Wave49ToGsm - Converte arquivo de udio do formato Wave49 para o formato GSM. Wave49ToGsmRaw - Converte arquivo de udio do formato Wave49 para o formato GSMRaw (sem cabealho). SetFXCardType - Permite configurar o tipo da porta (FXS/FXO) da placa VB0404FX. ReturnCodeToString - Retorna qual a mensagem de erro, a partir do cdigo de retorno. CheckCode - Compara a string de segurana da memria da placa com a string a ser gravada. SetLoggerSilenceThreshold - Permite setar o limiar de silncio para as portas da placa VB6060 no caso de aplicaes utilizando a thread de Logger.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

36

Guia de Programao
Guia de Migrao de Verses Anteriores
GSMCheckSignalQuality - Este comando fora o mdulo GSM correspondente a porta especificada, verificar o nvel de sinal recebido na antena. GSMGetMessage - Este comando obtm a mensagem SMS recebidas pelo mdulo. Mtodo usado para fins de debug. GSMGetSignalQuality - Recupera a string com o valor da qualidade do sinal aps o recebimento do evento OnGSMSignalQuality . GSMGetSMS - Permite ler uma mensagem SMS recebida. GSMSendCommand - Envia um comando ao mdulo GSM correspondente porta especificada. GSMSendSMS - Permite o envio de mensagem SMS nas portas correspondentes. GSMSetPinNumber - Ao ser iniciada a thread GSM a VoicerLib consulta os mdulos GSM sobre a necessidade ou no do envio de PIN number ou PUK. OnGSMError - Ocorre quando um erro detectado na porta ou na troca de sinalizao nos mdulos GSM. OnGSMMessage - Ocorre quando uma mensagem detectada pela placa. OnGSMReady - Ocorre quando a thread GSM foi criada e inicializada com sucesso. OnGSMSignalQuality - Ocorre em resposta ao mtodo GSMCheckSignalQuality, informa que o valor respectivo a qualidade do sinal j est disponvel. OnGSMSMSReceived - Ocorre quando uma mensagem SMS foi recebida e est disponvel para leitura atravs do mtodo GSMGetSMS. OnGSMSMSSent - Ocorre ao trmino do envio de uma mensagem SMS na porta especificada. OnGSMTimeout - Ocorre quando um comando enviado pela Voicerlib para o mdulo GSM correspondente a porta da placa VB0404GSM no obtm uma resposta no tempo especificado no mtodo ConfigGSMThread. GSMClearAllSMS - Este comando apaga todas as mensagens SMS do mdulo GSM correspondente a porta especificada. GSMDeleteSMS - Apaga a mensagem SMS do mdulo GSM. GSMListSMS - Solicita ao mdulo GSM a lista de mensagens GSM armazenadas em sua memria. GSMGetIndexList - Recupera a lista dos ndices das

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

37

Guia de Programao
Guia de Migrao de Verses Anteriores
mensagens SMS do mdulo GSM. GSMReadAndDeleteSMS - Este comando l a mensagem SMS especificada pelo ndice e em seguida apaga a mensagem do mdulo GSM. GSMRestartPort - Este comando reinicia o mdulo especificado pela porta. OnGSMReturnOK - Evento gerado aps a execuo dos mtodos GSMListSMS (status GSM_LIST) e GSMClearAllSMS (status GSM_CLEAR). GSMCallControl - Este comando executa as funes de atendimento de segunda chamada e conferncia nos mdulos. OnGSMOtherCall - Quando o mdulo GSM j atendeu uma chamada e recebe uma "outra chamada" este evento gerado. GSMGetLastCommand - Este mtodo obtm o ltimo comando enviado para o mdulo. Deve ser chamado no evento OnGSMMessage. GSMGetMemory - Esse mtodo disponibiliza ao usurio a quantidade de mensagens SMS no mdulo GSM aps o recebimento do evento OnGSMMemory. OnGSMMemory - Ocorre em resposta ao mtodo GSMClearAllSMS, informa que a quantidade de mensagens armazenadas no mdulo GSM est disponvel para ser lida com o mtodo GSMGetMemory. OnGSMMemoryFull - gerado quando o mdulo GSM atinge sua capacidade mxima de mensagem. Utilize o mtodo GSMClearAllSMS para limpar as mensagens do mdulo. EnableFSKDetetection - Habilita deteco de identificao de assinante no padro FSK. GetNameID - Recupera o nome do assinante chamador quando diponvel no sistema FSK ou quando o protocolo for ISDN PRI. GetLibVersion - Informa o nmero de verso da OCX ou da DLL. CreateLoggerCCS - Inicia o tratamento automtico de gravao em paralelo para sinalizao ISDN PRI. DestroyLoggerCCS - Finaliza o tratamento automtico de gravao em paralelo para sinalizao ISDN PRI. ConnectAudioChannels - Efetua uma conexo bi-direcional entre duas portas de qualquer placa. DisconnectAudioChannels - Efetua uma desconexo de duas portas conectadas de qualquer placa.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

38

Guia de Programao
Guia de Migrao de Verses Anteriores
EnableMailBoxDetection - Habilita deteco de caixa postal (secretria eletrnica). DisableMailBoxDetection - Desabilita deteco de caixa postal (secretria eletrnica). OnMailBoxDetected - Evento gerado quando detecta caixa postal (secretria eletrnica). GSMGetSMSConfirmation - Permite ler a string de confirmao do recebimento de uma mensagem SMS por parte do destinatrio. Este mtodo deve ser chamado no evento que confirma o recebimento de uma mensagem SMS por parte do destinatrio (OnGSMSMSConfirmation). OnGSMSMSConfirmation - Permite receber a confirmao do recebimento de uma mensagem SMS por parte do destinatrio (este recurso depende da disponibilidade da operadora). OnGSMSIM - Ocorre na insero ou retirada do SIM Card (chip) nos mdulos GSM, permitindo por exemplo que o programador reinicie a thread GSM aps a insero de um chip na placa. AudioMonitor - Monitora em tempo real o udio de uma porta especfica na sada de udio do PC. GetCardInfo - Informa dados sobre a placa. ConfigISDNThread - Configura as opes de tratamento da thread em relao ao protocolo ISDN PRI. CreateISDNThread - Inicia o tratamento do protocolo ISDN PRI de troncos digitais. DestroyISDNThread - Termina o tratamento do protocolo ISDN PRI. DisableISDNThread - Desabilita o tratamento do protocolo ISDN PRI de troncos digitais. EnableISDNThread - Habilita o tratamento do protocolo ISDN PRI. GetBusyCause - Retorna a causa do desligamento da chamada em caso de ocupado. GetISDNThreadStatus - Retorna o status da thread ISDN da placa e span especificados. GetNameID - Recupera o nome do assinante chamador quando diponvel no sistema FSK e no protocolo ISDN PRI. GetText - Retorna uma mensagem de texto recebida pela VoicerLib. ReturnCauseToStringCauseHangUp - Retorna qual a

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

39

Guia de Programao
Guia de Migrao de Verses Anteriores
descrio da causa de ocupado, a partir do cdigo de retorno. SendISDNCommand - Envia um comando ISDN referente a estabelecimento de chamadas entrantes. SetBearCapability - Configura o tipo da chamada do span. SetCalledNumber - Configura as propriedades do nmero a ser discado. SetCallingNumber - Configura as propriedades do nmero do identificador de A (BINA). SetHangUpCause - Configura a causa do desligamento da porta no protocolo ISDN PRI. SetNameID - Especifica o nome da identificao de uma porta no tronco digital quando se utiliza protocolo ISDN PRI. SetReverseCharging - Solicita a inverso de cobrana para chamada sainte. SetText - Especifica uma mensagem de texto a ser enviada pela VoicerLib por uma porta no tronco digital no protocolo ISDN PRI. OnChannel - Indica a mudana de porta de uma chamada. OnErrorNodeConfig - Ocorre quando h erro de configurao no ISDN PRI OnNameID - Ocorre quando a placa detecta a descrio do identificador da chamada (nome). OnReverseCharging - Ocorre sempre quando a chamada entrante requisitar a inverso de cobrana da chamada no protocolo ISDN PRI(Ligao a cobrar). OnText - Ocorre sempre que um texto for recebido pela aplicao (VoicerLib) no protocolo ISDN PRI.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

40

Guia de Programao
Instrues de instalao de placas

Instrues de instalao de placas


Instalao das placas Digivoice em Windows Vista e Windows 2008. Devido s exigncias dos novos sistemas operacionais da Microsoft (Windows Vista e Windows 2008) e para manter compatibilidade com produtos anteriores as placas Digivoice com barramento PCI, ao instalar as placas nos sistemas operacionais Windows Vista ou Windows 2008, necessrio fazer uma atualizao no hardware feita por uma configurao em uma memria FLASH das placas. Isto feito por programas fornecidos pela Digivoice (VlibUpdate.exe). Caso seja necessrio fazer um downgrade do sistema operacional, por exemplo de Vista para XP necessrio desfazer a alterao com o programa VlibUpdateRetro. Esta documentao se aplica s placas: VB0408PCI, VB0408PCIe, VB3030PCI, VB3030PCIe, VB6060PCI, VB6060PCIe e VB0404FX. Aps executar o setup da VoicerLib, verifique se a placa foi corretamente instalada da seguinte forma: - Em Painel de Controle - Sistema - Gerenciador de Dispositivos, a placa deve reconhecer o driver da digivoice "dgdriver" e a(s) placa(s) instalada(s). - Caso isso no ocorra, clique com o boto direito do mouse no dispositivo "Controlador de multimdia" na opo "Atualizar driver" e indique o caminho de instalao da Voicerlib. Geralmente em C:\%PROGRAM FILES%\Voicerlib4.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

41

Guia de Programao
Instrues de instalao de placas

Gerenciador de Dispositivos - Painel de Controle

Caso 1: Computador com sistema operacional Windows XP/2000/2003. Com as placas plugadas e devidamente parafusadas no slot, o setup da Voicerlib instalado. Aps a instalao, verifique se as placas foram detectadas e instaladas corretamente. A cada placa adicionada nesse ambiente (sistema operacional continuando o mesmo) depois da instalao, a verificao e instalao no Gerenciador de Dispositivos deve ser feita. Caso 2: Computador com sistema operacional Windows Vista/2008. Com as placas plugadas e devidamente parafusadas no slot, o setup da Voicerlib instalado. Aps a instalao, verifique se as placas foram detectadas e instaladas corretamente.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

42

Guia de Programao
Instrues de instalao de placas
A cada placa adicionada nesse ambiente, aps a instalao da VoicerLib, (sistema operacional continuando o mesmo) ser necessrio executar o arquivo VlibUpdate.exe que est geralmente no diretrio "C:\%PROGRAM FILES%\VoicerLib4\VlibUpdate". Lembrando que o arquivo deve ser executado com privilgio de administrador da mquina (boto direito - executar como....administrador). O computador deve ser reiniciado e a placa instalada. Caso 3: Adicionar uma ou mais placas Digivoice em um computador com XP/2000/2003 que estavam instaladas e funcionando em um computador com Windows Vista/2008. Executar o arquivo "VlibUpdateRetro.exe" que est geralmente no diretrio: "C:\%PROGRAM FILES%\VoicerLib4\VlibUpdateRetro". O computador deve ser reiniciado e a placa instalada. Caso 4: Adicionar uma ou mais placas Digivoice em um computador com Vista/2008 que estavam instaladas e funcionando em um computador com Windows XP/2000/2003. Executar o arquivo "VlibUpdate.exe" que est geralmente no diretrio: "C:\%PROGRAM FILES%\VoicerLib4\VlibUpdate". (Ressaltando que essa ao deve ser feita com privilgio de administrador). O computador deve ser reiniciado e a placa instalada.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

43

Guia de Programao
Inicializando os Servios

Inicializando os Servios
Sempre que iniciar a aplicao, antes de executar qualquer outra funo, necessrio iniciar os servios (device driver). Isto pode ser feito atravs do mtodo StartVoicerLib. A VoicerLib detecta todas as placas disponveis no computador e as inicializa na ordem de colocao dos slots do computador. Com isso possvel ter, por exemplo, uma placa E1 de 60 canais e uma placa analgica de 8 canais. Se a placa E1 for lida primeiro, receber as portas de 1 a 60 e a placa analgica de 61 a 68. A posio fsica dos slots dos computadores variam de fabricante, modelo e sistema operacional, portanto necessrio que a configurao na mquina de produo seja verstil para se adaptar a essas diferenas.

Em um mesmo computador, uma vez instaladas, as placas sempre sero reconhecidas na mesma ordem.

Exclusivo API: Como a API no gera eventos, como conhecido nos componentes visuais, necessrio criar uma funo para manipular os eventos da placa, conforme foi explicado no tpico Conceitos Bsicos. Lembre-se que a associao da Callback de eventos dever ser feita antes de inicializar o driver. Como a inicializao a primeira coisa a ser feita, recomenda-se sua colocao no incio da aplicao. No prtica recomendvel ficar inicializando e finalizando a VoicerLib diversas vezes na aplicao.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

44

Guia de Programao
Finalizando os Servios

Finalizando os Servios
Antes de fechar a aplicao necessrio chamar o mtodo ShutdownVoicerLib, que finaliza todos os servios e reseta a placa. A no utilizao deste mtodo poder causar travamento no sistema operacional ou algum comportamento imprevisvel. possvel verificar se os servios do hardware foram finalizados corretamente atravs do retorno do mtodo ShutDownVoicerLib, que retorna DG_EXIT_SUCCESS em caso de sucesso. O melhor local para se colocar este mtodo em algum evento finalizador, que antecede o encerramento da aplicao (Unload, OnClose, FormClose etc...).

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

45

Guia de Programao
Detectando Ring

Detectando Ring
A VoicerLib informa quando tem uma ligao entrante chegando atravs do ring. Sempre quando o ring for detectado, a funo que atua como Gerenciador de Eventos receber na varivel context_data>command o valor EV_RINGS (evento OnRingDetected no ActiveX). Nas placas FXO e GSM, como o ring ocorre em situaes bem especficas a sua deteco est sempre habilitada no havendo mtodos para ligar ou desligar. J na placa E1, o ring um evento que ocorrer quando a thread de controle (R2D MFC ou ISDN PRI) estiver habilitada. Para maiores detalhes, veja o captulo Programao da Placa E1.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

46

Guia de Programao
Atendendo e Desligando

Atendendo e Desligando
Para atender a ligao ou tomar uma linha para discagem, o mtodo que deve ser utilizado o Pickup . O mtodo pede 2 parmetros. O primeiro a porta de atendimento que vai de 1 a N. O segundo parmetro uma pausa aps o atendimento, em milissegundos (1000 = 1 segundo). Esta pausa til em aplicaes de atendimento automtico em instalaes com bloqueio de chamada a cobrar, etc... Ela deve ser utilizada em conjunto com o evento OnAfterPickUp. Para desligar a ligao, o mtodo utilizado o HangUp. Deve ser passado somente a porta que se deseja desligar. Ambas as funes retornam DG_EXIT_SUCCESS caso tenham sido executadas com sucesso. Um diferencial em relao aos modelos anteriores que quando a ligao atendida ou desligada os eventos OnLineReady e OnLineOff so gerados mesmo que a linha/ramal no esteja em paralelo. A placa E1 um caso especial, pois o PickUp refere-se a solicitao de ocupao de uma porta. Quando executado no contexto da thread (CreateE1Thread, CreateISDNThread), o pickup utilizado para ocupar uma porta na ligao sainte ou atender uma ligao entrante. Se a thread no estiver iniciada, o sinal de ocupao tambm enviado, porm todo o tratamento dever ser feito pela aplicao final.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

47

Guia de Programao
Superviso de Linha

Superviso de Linha
A superviso de linha permite ao programador identificar e tratar diversos eventos relativos a sinais enviados pela linha, a saber: Sinal de Ocupado Deteco de Fax Deteco de sinal de discagem (tom de linha) Deteco de sinal de chamada (ringback) Deteco de Atendimento

Nas placas digitais (E1) no existe propriamente um sinal de ocupado, tom de discagem ou sinal de chamada j que toda a parte de sinalizao feita pelo protocolo R2D, porm, a VoicerLib simula estes sinais e eventos para deixar a programao similiar s placas FXO. Isso s possvel se utilizar as threads de controle (ConfigE1Thread).

Acionamento das deteces nas placas FXO Na VoicerLib 4, a superviso de linha foi implementada atravs de threads de controle que so criadas atravs do mtodo CreateCallProgress. A thread de Call Progress responsvel pelo acompanhamento de chamadas, ou seja, a superviso de um tom genrico, de tons de linha, de chamar (ringback), de ocupado, de fax e o atendimento pelo assinante chamado. O mtodo CreateCallProgress cria a thread de controle e em seguida dorme portanto pode ser criado no incio da aplicao sem prejuzo de processamento, devendo ser chamada para cada porta especfica. Todos os parmetros de configurao da thread de Call Progress ficam armazenados em um arquivo texto de configurao localizado na pasta firmware (Linux) ou \%PROGRAM FILES%\VoicerLib4 (Windows). O arquivo padro o cp_default.cfg porm o desenvolvedor poder criar outros de acordo com suas necessidades, j que o nome do arquivo a ser utilizado passado no mtodo CreateCallProgress.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

48

Guia de Programao
Superviso de Linha
Tambm possvel configurar o CallProgress sem a utilizao do arquivo. Todos os parmetros podem ser configurados atravs do mtodo ConfigCallProgress pois cada item do arquivo de configurao tem sua constante correspondente. Veja todas estas opes no Guia de Referncia, no mtodo ConfigCallProgress.

Depois da criao da thread de controle, necessrio chamar o mtodo EnableCallProgress para efetivamente monitorar a linha. O acompanhamento de chamadas foi dividido em 4 opes bsicas para agilizar sua utilizao e economizar recursos de hardware: 1 - CP_ENABLE_GENERIC_TONE - Desenvolvida para detectar a presena de um tom qualquer pr-configurado ou o atendimento de chamada, esta facilidade superviso de atendimento pode ser habilitada na VoicerLib pelo mtodo EnableAnswerDetection. 2 - CP_ENABLE_LINETONE_OR_BUSY - Desenvolvida para a deteco rpida de tom de discar (tom de linha) ou ocupado antes do incio de uma discagem ou aps um Flash. 3 - CP_ENABLE_BUSY_OR_FAX - Desenvolvida para a deteco rpida de tom de ocupado ou sinal de fax aps o atendimento de uma chamada. 4 - CP_ENABLE_ALL - Desenvolvida para a deteco de tons de discar, de chamada, de ocupado, de fax e atendimento entre uma discagem e o atendimento pelo assinante chamado. A princpio, esta opo atende qualquer situao, mas devido s restries das vrias cadncias dos tons, a discriminao de um determinado tom, pode demorar mais tempo que em uma opo especfica como a CP_LINETONE_OR_BUSY. Isso significa que o desenvolvedor poder simplificar sua aplicao sempre habilitando o callprogress utilizando esta opo, mas ter uma deteco mais rpida e eficiente se utilizar a opo especfica para cada situao.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

49

Guia de Programao
Superviso de Linha
Ento, como sugesto, o desenvolvedor pode utilizar a seguinte regra em uma discagem com superviso: Com a porta desligada, ao iniciar uma ligao (PickUp), chamase o EnableCallProgress passando o valor CP_ENABLE_LINETONE_OR_BUSY Ao detectar o tom de linha, efetua a discagem e aps a discagem, chama-se novamente o EnableCallProgress passando o valor CP_ENABLE_ALL. Aps a discagem, necessrio habilitar a deteco de atendimento tambm, utilizando o mtodo EnableAnswerDetection. Logo aps o atendimento, necessrio desabilitar sua deteco chamando o mtodo DisableAnswerDetection e chamar o EnableCallProgress com o valor CP_ENABLE_BUSY_OR_FAX, j que, aps o atendimento s necessrio esperar o tom de ocupado e o fax. O DisableCallProgress deve ser chamado para desabilitar qualquer tipo de superviso e o mtodo DestroyCallProgress deve ser chamado no trmino da aplicao para evitar a perda de recursos de memria (memory leak). Conforme j foi dito, todos os parmetros de configurao da thread de CallProgress ficam armazenados em um arquivo texto de configurao cp_default.cfg (padro) que contm diversos comentrios explicando cada parmetro. Por isso ele demonstrado a seguir:

[CallProgress] ;------------------------------------------------------; AnswerSensitivity refere-se a quantos "audios" deverao ser ; recebidos na sequencia para considerar atendimento ; Valor minimo = 0 ; Padrao = 1 ; NUNCA ALTERE ESTE PARAMETRO POIS PODE DIFICULTAR A ; DETECCAO DE ATENDIMENTO ;-------------------------------------------------------

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

50

Guia de Programao
Superviso de Linha
AnswerSensitivity=1 ;------------------------------------------------------; AnswerSensitivityTime e a duracao *minima* de um ; audio para se considerar atendimento. ; Para diminuir a sensibilidade ; aumente o valor. O padrao e 200ms ;------------------------------------------------------AnswerSensitivityTime=10 ;------------------------------------------------------; GenericToneTimeout determina o tempo *minimo* que o ; sistema esperara para reconhecer o tom generico. ; Caso nao venha neste tempo, gerara o evento de ; timeout. ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_GENERIC_TONE ;------------------------------------------------------GenericToneTimeout=15000 ;------------------------------------------------------; GenericToneTime determina o tempo *minimo* para ; que o sistema reconheca o audio como tom generico ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_GENERIC_TONE ;------------------------------------------------------GenericToneTime=500 ;------------------------------------------------------; LineToneTimeout determina o tempo *minimo* que o ; sistema esperara para reconhecer o tom de linha. ; Caso nao venha neste tempo, o evento de timeout ; sera gerado. ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_LINETONE_OR_BUSY ;------------------------------------------------------LineToneTimeout=15000 ;-------------------------------------------------------

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

51

Guia de Programao
Superviso de Linha
; LineToneTime determina o tempo *minimo* para que ; o sistema reconheca o audio como tom de linha ; Valor em milisegundos ; *** PRECISA SER MAIOR QUE BusyMaxTime *** ; Opcoes de Call Progress: ; CP_ENABLE_LINETONE_OR_BUSY ;------------------------------------------------------LineToneTime=750 ;------------------------------------------------------; FaxToneTimeout determina o tempo *minimo* que o ; sistema esperara para reconhecer o tom de fax. ; Caso nao venha neste tempo, gerara evento de timeout. ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_BUSY_OR_FAX ;------------------------------------------------------FaxToneTimeout=15000 ;------------------------------------------------------; FaxToneTime determina o tempo *minimo* para que ; o sistema reconheca o audio como tom de fax ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_BUSY_OR_FAX e CP_ENABLE_ALL ;------------------------------------------------------FaxToneTime=200 ;------------------------------------------------------; CallProgressTimeout e o tempo de espera apos ; a discagem para se considerar que houve um ; atendimento por timeout ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------CallProgressTimeout=15000 ;------------------------------------------------------; BusyMinTime determina o tempo *minimo* do ; tom de ocupado ; Valor em milisegundos

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

52

Guia de Programao
Superviso de Linha
; Opcoes de Call Progress: ; CP_ENABLE_LINETONE_OR_BUSY e CP_ENABLE_BUSY_OR_FAX e ; CP_ENABLE_ALL ;------------------------------------------------------BusyMinTime=200 ;------------------------------------------------------; BusyMaxTime determina o tempo *minimo* do tom ; de ocupado ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_LINETONE_OR_BUSY e CP_ENABLE_BUSY_OR_FAX e ; CP_ENABLE_ALL ;------------------------------------------------------BusyMaxTime=550 ;------------------------------------------------------; BusySensibility determina quantos tons de ; ocupado devem ser detectados para que seja ; gerado um evento para a aplicacao. ; O padrao 1 e este parametro e aplicado ; somente no CP_ENABLE_BUSY_OR_FAX ;------------------------------------------------------BusySensibility=5 ;------------------------------------------------------; CallingMinToneTime determina o tempo *minimo* para se ; considerar um tom de chamada (apos a discagem). Sera ; testado como intervalo junto com CallingMaxToneTime ; Valor em milisegundos ; *** PRECISA SER MAIOR QUE BusyMaxTime *** ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------CallingMinToneTime=450 ;------------------------------------------------------; CallingMaxToneTime determina o tempo *maximo* para se ; considerar um tom de chamada (apos a discagem). Sera ; testado como intervalo junto com CallingMinToneTime ; Valor em milisegundos ; No CP_ENABLE_ALL este tempo + 500ms tambem e

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

53

Guia de Programao
Superviso de Linha
; utilizado para medir o tom de discagem ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------CallingMaxToneTime=2000 ;------------------------------------------------------; CallingMinSilTime o tempo *minimo* para se ; considerar silencio. Sera testado como intervalo ; junto com CallingMaxSilTime ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------CallingMinSilTime=700 ;------------------------------------------------------; CallingMaxSilTime determina o tempo *maximo* para se ; considerar silencio. Sera testado como intervalo ; junto com CallingMinSilTime ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------CallingMaxSilTime=5000 ;------------------------------------------------------; ToneInterruptionMinTime determina o tempo *minimo* do ; intervalo entre cada tom de linha. A deteccao do tom ; de chamando depende tambem dos tempos do intervalo ; entre eles. ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------ToneInterruptionMinTime=20 ;------------------------------------------------------; ToneInterruptionMaxTime determina o tempo *minimo* do ; intervalo entre cada tom de linha. O deteccao do tom ; de chamando depende tambem dos tempos do intervalo ; entre eles.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

54

Guia de Programao
Superviso de Linha
; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------ToneInterruptionMaxTime=280 ;------------------------------------------------------; LineToneMinTime determina o tempo *minimo* para se ; considerar o tom de linha ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------LineToneMinTime=2500 ;------------------------------------------------------; LineToneMaxTime determina o tempo *maximo* para se ; considerar o tom de linha ; Valor em milisegundos ; Opcoes de Call Progress: ; CP_ENABLE_ALL ;------------------------------------------------------LineToneMaxTime=2700 ;------------------------------------------------------; Aqui sao definidas as frequencias utilizadas ; nas configuracoes a seguir associadas ao ; tipo de deteccao (ocupado, chamando, etc) ;------------------------------------------------------tone1=425,0 tone2=1100,0 tone3=2100,0 tone4=0,0 tone5=0,0 tone6=0,0 tone7=0,0 tone8=0,0 ;------------------------------------------------------; Configuracao das frequencias para cada tipo de ; deteccao ; Aqui devera ser informado o indice de configuracao da ; voicerlib:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

55

Guia de Programao
Superviso de Linha
; CP_SILENCE usar valor -> (0x20) 32 ; CP_AUDIO usar valor -> (0x21) 33 ; CP_TONE1 usar valor -> (0x22) 34 (425Hz) ; CP_TONE2 usar valor -> (0x23) 35 (1100Hz) ; CP_TONE3 usar valor -> (0x24) 36 (2100Hz) ; custom comands ; CP_TONE4 usar valor -> (0x25) 37 ; CP_TONE5 usar valor -> (0x26) 38 ; CP_TONE6 usar valor -> (0x27) 39 ; CP_TONE7 usar valor -> (0x28) 40 ; CP_TONE8 usar valor -> (0x29) 41 ;------------------------------------------------------Audio=0x21 ;default CP_AUDIO - nao mudar! Silence=0x20 ;default CP_SILENCE - nao mudar! LineToneFreq=0x22 ;default refere-se a CP_TONE1 CallingToneFreq=0x22 ;default refere-se a CP_TONE1 BusyToneFreq=0x22 ;default refere-se a CP_TONE1 Fax1ToneFreq=0x23 ;default refere-se a CP_TONE2 Fax2ToneFreq=0x24 ;default refere-se a CP_TONE3 GenericToneFreq=0x25 ;default refere-se a CP_TONE4 GenericToneFreq2=0x26 ;default refere-se a CP_TONE5 GenericToneFreq3=0x27 ;default refere-se a CP_TONE6 GenericToneFreq4=0x28 ;default refere-se a CP_TONE7 GenericToneFreq5=0x29 ;default refere-se a CP_TONE8 ;------------------------------------------------------; Terminador de Arquivo ; Mantenha o proximo item sempre como o ultimo deste ; arquivo para que a voicerlib possa detectar se o ; arquivo esta danificado ;------------------------------------------------------end=1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

56

Guia de Programao
Superviso de Linha
No caso da opo CP_ENABLE_ALL, como no Brasil todos os tons tem a mesma frequncia (425Hz) a distino de chamando, ocupado e tom de discar (linha) feita pela anlise de cadncia, ou seja, durao de tons e silncio, portanto tome cuidado com os tempos anteriores respeitando a seguinte relao:
(BusyMaxTime < CallingMinToneTime) e (CallingMaxToneTime < LineToneMinTime) |-----|-----| Busy Min Max |----------------|--------| Calling Min Max |-------------------------------|------|Line Min Max

Acionamento das deteces nas placas E1 Conforme foi dito anteriormente, nas placas E1 no necessrio habilitar as deteces de tom de linha, ocupado ou atendimento pois estas respostas vm automaticamente pelo protocolo. J a deteco de fax deve ser habilitada explicitamente atravs da chamada do mtodo SetDetectionType para as frequncias 1100Hz e 2100Hz. Estas frequncias j so previamente definidas atravs das constantes DETECT_TONE2 e DETECT_TONE3, as quais devero ser passadas no segundo parmetro do mtodo SetDetectionType. Consulte o Guia de Referncia para maiores detalhes.

Reconhecimento dos sinais de superviso Sinal de Ocupado: Ao ser detectado o sinal de ocupado, o evento OnBusyDetected gerado, podendo ser tratado pelo usurio da maneira como quiser.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

57

Guia de Programao
Superviso de Linha
Placa FXO/FXS/GSM: O evento gerado sempre que for detectado o ocupado, portanto, caso o sinal de ocupado permanea por muito tempo sem desligar, o programa gerar vrias vezes o evento. Para evitar isso, o programador deve desabilitar a superviso de linha com o mtodo DisableCallProgress, aps o primeiro ocupado. Outro efeito que pode ocorrer muito raramente o sinal de ocupado ser detectado durante a conversao. Isto acontece com certos tons e candncias de voz. Para prever esta situao, recomendamos ao programador sempre esperar pelo menos dois sinais de ocupado antes de tomar alguma atitude. Isto reduz muito os casos de interpretao errada pois muito difcil uma voz gerar dois tons de ocupado na mesma cadncia do tom real. Exclusivo para placa E1: O evento de ocupado gerado no caso de porta bloqueada, trmino de ligao, etc. Como no se trata de um tom intermitente e sim de dado R2D, o evento OnBusyDetected s ocorrer uma vez. Por caracterstica do protocolo R2D, possvel detectar o desligamento independente de quem tenha gerado a ligao. Deteco de Fax: til principalmente em aplicaes de atendimento automtico. possvel fazer uma rotina, por exemplo, que ao perceber um sinal de fax, transfere para o ramal do aparelho de fax. O evento que gerado neste caso o OnFaxDetected. Deteco de Atendimento: A VoicerLib permite ao programador detectar quando uma ligao foi atendida do outro lado da linha. O evento OnAnswerDetected gerado sempre quando este sinal for detectado. Lembre-se que, nas placas FXO/FXS/GSM, necessrio desabilitar a deteco de atendimento logo aps a ocorrncia da primeira deteco para evitar detectar falsos atendimentos durante a conversao. Deteco de sinal de discagem: Em linhas analgicas, o sinal de discagem aquele tom contnuo que se escuta ao tirar o fone do gancho. Em alguns casos, este sinal pode demorar alguns segundos, principalmente em centrais congestionadas. Este evento controlado pelos mtodos EnableCallProgress e

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

58

Guia de Programao
Superviso de Linha
DisableCallProgress . O evento OnDialToneDetected gerado sempre quando este sinal for detectado. J em linhas digitais (E1), no existe o tom de discagem propriamente dito. No momento de ocupar a porta, j enviado imediatamente se a porta estiver bloqueada, por exemplo. Quando a porta da placa recebe a confirmao de ocupao, significa que est pronta para discar. A VoicerLib gera o evento OnDialToneDetected quando esta confirmao recebida. Em uma situao prtica, mais correto esperar o tom de discagem para ento utilizar o mtodo Dial para discar e no atender e discar em seguida. Deteco de sinal de chamada: Ao discar para um determinado nmero, sempre ouvimos o sinal de chamada, que indica que o telefone est tocando do "outro lado" da linha. Este evento tambm controlado pelos mtodos EnableCallProgress e DisableCallProgress. Com este sinal podemos contar quantos toques so dados at a ligao ser atendida ou ainda detectar que a ligao no foi completada (no caso de o sinal no ser detectado). O evento OnCalling ocorre sempre quando o sinal for detectado, o que faz com que ele seja chamado vrias vezes at a ligao ser atendida. Nas placas E1 com a thread de controle habilitada, o evento OnCalling gerado independente de chamar Enable/DisableCallProgress e independe da chegada do tom audvel, pois funciona atravs de um timer interno da VoicerLib. Para a aplicao final, essa diferena de funcionamento no altera nenhum procedimento. O tom de controle de chamada (ringback) ou ocupado gerado localmente pela placa para que o usurio tenha conhecimento do andamento da ligao.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

59

Guia de Programao
Deteco de Silncio

Deteco de Silncio
A VoicerLib 4 permite fazer deteco de silncio atravs de um comando especfico para isso. Em muitas situaes, perceber a existncia de silncio muito importante. Um exemplo tpico de aplicao a gravao de mensagens de correio de voz onde o desenvolvedor queira interromper a gravao caso a ligao fique em silncio por N segundos. Outro exemplo na gravao de conversas telefnicas com a linha em paralelo pois permite que a gravao seja pausada ou terminada caso haja silncio por um tempo pr-determinado. O mtodo que habilita esta funcionalidade o EnableSilenceDetection que tem como parmetro a porta, o tempo mnimo para considerar silncio (silence_time) e o tempo mnimo para considerar udio (audio_time). Estes dois ltimos parmetros devem ser informados em milisegundos (1000 = 1s). O parmetro audio_time permite ainda receber o valor zero, indicando que, ao primeiro sinal de udio a aplicao ser avisada. Dependendo da aplicao e do ambiente de produo este valor pode ser aumentado para um valor maior pois assim a VoicerLib desprezar sinais de udio que tiverem durao menor que a especificada. Esse comportamento equivale a uma diminuio da sensibilidade da deteco de udio. Se no houver situaes de rudo na linha, etc, recomenda-se utilizar o valor zero nesse parmetro(audio_time). O evento OnSilenceDetected ser gerado sempre que houver uma mudana no estado, ou seja, quando for detectado o silncio, o evento ser gerado uma vez, informando no parmetro SignalCode o valor DG_SILENCE_DETECTED (1). Quando receber um sinal de udio, o evento ser gerado novamente com o parmetro SignalCode recebendo o valor DG_AUDIO_DETECTED (0). Depois disso, o evento s ser gerado de novo se for detectado um silncio e assim por diante. Para desabilitar esta deteco, necessrio chamar o mtodo DisableSilenceDetection.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

60

Guia de Programao
Deteco de Tons

Deteco de Tons
Uma das maiores evolues da VoicerLib 4 em relao verso 2.x nas deteces de tons. Agora existem muito mais opes de deteces, dando ao desenvolvedor grande liberdade de trabalho mesmo em situaes incomuns. Por padro, a VoicerLib permite a deteco de at oito tipos de tons, utilizados em superviso de linha, etc. Destes 8 tipos de tons, temos pr-configurados trs: DETECT_TONE1 - Tom puro 425Hz, o padro brasileiro para tons de supervisao de linha DETECT_TONE2 - Tom de 1100Hz, utilizado para detectar FAX DETECT_TONE3 - Tom de 2100Hz, utilizado para detectar FAX Estes tons puros so suficientes para a superviso de linha padro e deteco de fax na maioria dos casos. O tpico "Superviso de Linha" aborda detalhadamente como utiliza-lo e a chamada a estas funes est embutido nas chamadas de callprogress, portanto, uma configurao manual no necessria a no ser em casos especiais. O mtodo que habilita/desabilita as deteces o SetDetectionType que tem como parmetro a porta, o comando (DETECT_TONE1, etc...) e o flag que habilita ou desabilita a deteco (DG_ENABLE/DG_DISABLE). Consulte o guia de referncia para ver todas as opes. A chamada deste mtodo tem efeito cumulativo, ou seja, fazendo uma chamada para habilitar TONE3 por exemplo, e outra chamada para habilitar TONE1 ocasionar a deteco dos dois tipos. Este mesmo mtodo habilita a deteco de dgitos, que ser abordado no tpico seguinte.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

61

Guia de Programao
Deteco de Tons
Mudando a configurao padro O desenvolvedor poder reconfigurar todos os tipos de tons (TONE1 a TONE8) a serem detectados, atravs do mtodo SetCardDetections, passando como parmetro a placa, o tom a ser modificado e o par de frequncias que passar a ser monitorado. No Guia de Referncia das funes e mtodos so apresentadas todas as opes.

ATENO: importante ressaltar que a alterao das frequncias a serem detectadas s podem ser feitas na placa inteira e no por porta individualmente. Isso no constitui uma limitao j que normalmente uma alterao deste tipo afeta todo o sistema e no portas especficas.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

62

Guia de Programao
Deteco de Dgitos

Deteco de Dgitos
A VoicerLib permite detectar dgitos tanto em tons multifrequenciais como em pulso nativamente. A deteco de tons multifrequenciais habilitada ou desabilitada atravs do mtodo SetDetectionType que tem como parmetro a porta, o comando (DETECT_DTMF etc...) e o flag que habilita ou desabilita a deteco de dgitos (DG_ENABLE/DG_DISABLE). Consulte o guia de referncia para ver todas as opes. O segundo parmetro, o comando pode assumir as seguintes opes: DETECT_DTMF - Deteco do DTMF, o mais comum para aplicaes com interao com o usurio DETECT_MFF e DETECT_MFT - So os sinais multifrequenciais comuns sinalizao R2D DETECT_MF - Sinal multifrequencial customizvel A deteco de pulso habilitada pelo mtodo EnablePulseDetection e desabilitada pelo mtodo DisablePulseDetection. No mtodo EnablePulseDetection passado a sensibilidade de deteco, sendo o padro zero. Esta sensibilidade pode ser alterada caso se perceba uma dificuldade ou facilidade maior nas deteces de pulso. O funcionamento das duas deteces praticamente o mesmo, exceto pelo fato que a deteco de tom pode ser feita durante a reproduo de uma mensagem e a de pulso somente no silncio aps a mensagem.

Habilitando o cancelamento de eco, possvel ter boa performance na deteco de pulsos sobre a mensagem.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

63

Guia de Programao
Deteco de Dgitos
A VoicerLib permite tratar o reconhecimento de dgitos de duas maneiras diferentes. A primeira atravs do evento OnDigitDetected, que gerado sempre que um dgito qualquer for detectado pela placa. O dgito detectado ser passado atravs do parmetro Digit do evento. Este parmetro conter o cdigo ASCII do dgito. Caso o programador implemente algum tratamento neste evento, deve tomar cuidado para saber o momento em que ele ocorreu, pois pode acontecer uma deteco pelos dgitos gerados pela prpria placa. O mais aconselhvel s habilitar as deteces nos momentos que ela seja necessria, para evitar situaes de talkoff. possvel otimizar a deteco utilizando o mtodo SetTwist (consulte o Guia de Referncia para maiores detalhes). TALK-OFF: A voz humana, em uma conversa normal, pode conter a mesma frequncia dos dgitos detectados pela placa, portanto, quando o operador ou o interlocutor falar, algum dgito pode ser detectado e se o tratamento no OnDigitDetected no for adequado, o sistema pode interpretar errneamente os sinais recebidos. Uma aplicao tpica que recomendada a utilizao do evento OnDigitDetected na identificao de chamadas (BINA). Exemplo: Neste exemplo, o dgito detectado o tempo inteiro e mostrado na tela. Private Sub VoicerLibX1_OnDigitDetected(Port As Integer, Digit As Integer) lblStatus.Caption = "Detectou Digito " + Chr$(voicerlibx1.ReadDigits(Port)) End Sub A segunda maneira de detectar dgitos atravs do mtodo GetDigits.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

64

Guia de Programao
Deteco de Dgitos
O mtodo GetDigits inicia a monitorao de dgitos, sendo que possvel determinar o nmero mximo de dgitos, se esperar um dgito terminador, e tempos mximos para recepo destes dgitos. Aps o incio da monitorao, o evento OnDigitsReceived pode ocorrer a qualquer momento. Este evento ocorre quando uma das condies impostas pelo mtodo GetDigits for satisfeita. O mtodo ReadDigits permite ler o contedo do buffer de dgitos da porta. Durante a monitorao possvel cancelar o andamento do GetDigits atravs do mtodo CancelGetDigits. Se esse mtodo for chamado, o GetDigits ser cancelado mas o evento OnDigitsReceived no ser gerado e o buffer de dgitos ser apagado. O mtodo CancelGetDigits dever ser chamado principalmente em situaes onde a ligao foi terminada durante o GetDigits. Uma mudana importante em relao s verses anteriores da VoicerLib que agora o buffer de dgitos deve sempre ser apagado explicitamente pelo programa, atravs do mtodo ClearDigits. Exemplo: No exemplo abaixo o GetDigits inicia esperando at 5 dgitos, ou at receber o terminador # por no mximo 10 segundos de espera total ou 5 segundos de intervalo entre cada dgito: Private Sub Espera Digito() VoicerLibX1.GetDigits Porta,5,"#",10000,5000 End Sub 'No evento OnDigitsReceived que ser tratado os digitos recebidos, ou verificado timeout Private Sub VoicerLibX1_OnDigitsReceived(Port As Integer,Status As VoicerLib.TxWaitDigit)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

65

Guia de Programao
Deteco de Dgitos
Select Case Status Case edMaxDigits: 'Alcanou o mximo de digitos, disca para o ramal Case edTermDigit: 'Recebeu um nmero com # no fim Case edDigitTimeOut: 'Timeout global de 10 segundos Case edInterDigitTimeOut: 'Ocorreu timeout entre dois dgitos End Select End Sub O evento OnDigitsReceived tambm pode ter a varivel Status com valor edDigitOverMessage. Neste caso, o evento ter sido gerado pela deteco de um dgito durante a reproduo de uma mensagem a partir dos mtodos Playxxx.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

66

Guia de Programao
Identificao de Chamadas

Identificao de Chamadas
A identificao de chamadas (BINA) est facilmente disponvel atravs dos mtodos IdleXXX nas placas FXO e FXS e da thread de controle nas placas E1 (CreateE1Thread, CreateISDNThread). Consulte os referidos tpicos para maiores detalhes. Entretanto, o desenvolvedor tambm pode desenvolver sua prpria rotina de deteco de identificador de chamadas, normalmente fazendo uso do mtodo SetDetectionType para configurar o tipo de sinalizao e manipulando estes dgitos atravs do evento OnDigitDetected. Neste caso, toda a montagem da string com o nmero identificado manual.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

67

Guia de Programao
Portas Virtuais

Portas Virtuais
Quando a VoicerLib inicializada, todas as placas presentes no computador so analisadas e o nmero da porta assumido na ordem em que as placas esto posicionadas no barramento PCI. Por exemplo, se houverem 2 placas FXO VB0408PCI de 8 canais cada e uma placa E1 VB6060PCI de 60 canais, as portas de 1 a 16 sero atribudas s duas placas FXO e as portas 17 a 77 sero atribudas placa E1.

Aparentemente no existe padro entre os fabricantes de motherboard quanto ordem das placas no barramento. Tambm os sistemas operacionais podem reconhecer as placas de maneiras diferentes no mesmo hardware. Entretanto, no existem alterao nessa ordem depois de tudo instalado corretamente. Essa alocao automtica de portas adequada maioria das aplicaes, porm existem situaes onde interessante o desenvolvedor determinar o nmero da porta de cada canal fsico da placa. A gravao em paralelo em placas E1 de 60 canais um exemplo tpico pois somente os primeiros 30 canais de cada placa so utilizados o que faz com que a aplicao tenha que gerenciar os canais de 1-30, 61-90, 121-150 e assim por diante. Com a utilizao dos mtodos de canais virtuais, o desenvolvedor pode, no incio da aplicao associar os canais de maneira a ficar com uma numerao de portas continua (de 1 a 90, por exemplo). Associando um canal fsico uma porta virtual O mtodo DefinePortResource permite atribuir uma numerao qualquer a um canal fsico de determinada placa, tendo a seguinte sintaxe: DefinePortResource(PortaVirtual, Placa, Canal)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

68

Guia de Programao
Portas Virtuais
Onde PortaVirtual o nmero lgico a ser utilizado, Placa o nmero da placa (de 1 a n, na ordem do barramento PCI) e Canal o canal fsico de Placa (ex.: uma placa FXO de 8 canais tem canais de 1 a 8). A PortaVirtual dever respeitar o nmero mximo de portas reconhecida pelo sistema, ou seja, no poder ter valor maior do nmero mximo de portas, valor esse, que pode ser obtido atravs do mtodo GetPortsCount. A nica verificao que o mtodo DefinePortResource faz, com relao aos valores de placa e canal. No existe nenhum feedback se determinada porta virtual j foi alocada ou no. Este controle dever ser feito pela aplicao. Aps fazer a associao, a portavirtual passar a ser utilizada pela VoicerLib em todos os mtodos e eventos para referenciar a porta fsica da placa selecionada. Restaurando a configurao padro de inicializao A qualquer momento possvel voltar a numerao das portas para o reconhecimento automtico, bastando para isso chamar o mtodo ResetPortResource. Este mtodo no exige nenhum parmetro e far com que a VoicerLib efetue o reconhecimento de portas feito na inicializao. Verificando a configurao de portas virtuais Pode ser til ao desenvolvedor saber como est a configurao das portas virtuais. Para isso pode-se fazer uso dos mtodos GetPortsCount, GetCardNumber e GetRelativeChannelNumber. O veja o seguinte cdigo em VisualBasic que exibe a configurao atual das portas do sistema: 'Funcao que retorna string com identificacao da placa Private Function PegaNomePlaca(nCard As Integer) As String Select Case voicerlib1.GetCardType(nCard)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

69

Guia de Programao
Portas Virtuais
Case VB0408PCI PegaNomePlaca = "VB0408PCI" Case VBE13030PCIe PegaNomePlaca = "VBE13030PCI Express" Case VBE16060PCI PegaNomePlaca = "VBE16060PCI" End Select End Function Private Sub cmdAnalisa_Click() Dim i As Integer Dim sMsg As String Dim card As Integer, card_ch As Integer MostraStatus 0, "Numero total de portas = " & voicerlib1.GetPortsCount() For i = 1 To voicerlib1.GetPortsCount() card = voicerlib1.GetCardNumber(i) sMsg = PegaNomePlaca(card) MostraStatus i, "Placa " & card & " tipo: " & sMsg & " - ch da placa: " & voicerlib1.GetRelativeChannelNumber(i) Next i End Sub

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

70

Guia de Programao
Gravando uma Conversa

Gravando uma Conversa


A VoicerLib permite gravar conversas telefnicas nas placas com interface analgicas (FXS ou FXO) e digitais (E1). Nas placas com interface analgica, devido a caracterstica dos circuitos telefnicos, a gravao registra tanto o udio que gerado pela placa (Tx) quanto o udio que chega placa (Rx), nas placas com interface digital (E1) o Rx e o Tx so separados e para grav-los preciso fazer uma gravao em paralelo, caso seja um E1 de um PABX, ou um recurso adicional (TxRxMixEnable) se for o caso de uma URA. A gravao em paralelo tem um tpico parte, porm os conceitos bsicos so apresentados aqui. possvel efetuar a gravao em diversos formatos de arquivos, com nvel de compactao diferentes entre si. Observe a tabela:
Tabela de formatos de gravao

Formato ffWavePCM ffWaveULaw ffWaveALaw ffGsm610 ffWave49

Taxa (Kbits/s) 128 64 64 13.2 13.2

MB/h (*) 57.6 28.8 28.8 5.9 5.9

Kbytes/h (*) 57600 28800 28800 5940 5940

(*) MB/h e KBytes/h indica a taxa de ocupao do arquivo gerado pela gravao no formato especificado. O mtodo SetRecordFormat indica para a VoicerLib qual o formato que determinada porta dever assumir. O mtodo que determina o formato de gravao o SetRecordFormat e no a extenso do arquivo, portanto, simplesmente associar a extenso .gsm ao arquivo no determinar o seu formato! Para aplicaes com extensivo uso de gravao recomenda-se os

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

71

Guia de Programao
Gravando uma Conversa
formatos GSM ou Wave49 que oferecem uma excelente relao entre tamanho e qualidade de udio. Diferente da VoicerLib2, a codificao/decodificao do GSM e Wave49 so feitas diretamente pelo processador (DSP) da placa sendo portanto os formatos de udio mais eficientes pois o computador no gasta tempo de CPU nos processos de codificao/decodificao e o I/O no barramento PCI tambm muito menor que nos formatos Wave (PCM,ALaw e ULaw) . Existe tambm o mtodo SetGSMMode que indica a VoicerLib se dever ser utilizado o GSM compatvel com o Asterisk(c) (GSM_RAW (1)) ou o GSM padro da Digivoice (GSM_DIGIVOICE(0)). A diferena entre os dois formatos consiste apenas na existncia de um cabealho no padro Digivoice. A codificao em si a mesma e por isso no foi criado um novo formato de gravao. Este mtodo afeta todas as portas de todas as placas e o padro assumido atualmente o GSM_RAW que no contm cabealho no arquivo. Para efetuar a gravao de portas na voicerlib, necessrio habilitar o envio de amostras da placa atravs do mtodo EnableInputBuffer. Este mtodo espera dois parmetros: a porta que gerar as amostras para a aplicao e flag que habilita ou no o AGC (Controle Automtico de Ganho). Aps chamar o EnableInputBuffer, o mtodo RecordFile efetivamente iniciar a gravao.

muito importante verificar os valores de retorno dos mtodos EnableInputBuffer e RecordFile. Dependendo da carga de processamento, possvel que, ao chamar o mtodo RecordFile a thread de controle iniciada pelo EnableInputBuffer ainda no esteja pronta. Neste caso a melhor alternativa que, em caso de erro, o desenvolvedor chame o mtodo RecordFile novamente. O mtodo RecordFile tambm permite determinar se algum dgito ser utilizado como finalizador de gravao. Esta caracterstica permite uma implementao do tipo: "Grave seu recado e ao final

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

72

Guia de Programao
Gravando uma Conversa
digite # se quiser falar com a telefonista". O dgito detectado (se usado) armazenado e deve ser recuperado, para isso utilize o mtodo ReadDigits , que pode ser tratado posteriormente. Dependendo do fluxo de operao do sistema desenvolvido, necessrio que seja acumulado os dgitos detectados, este o comportamento padro da VoicerLib. Sempre quando for iniciada a gravao o evento OnRecordStart gerado, permitindo tratamento nesta situao. possvel saber se determinada porta est gravando chamando o mtodo IsRecording . Ao trmino da gravao o evento OnRecordStop gerado automaticamente, inclusive informando qual o status da interrupo da gravao. Este status pode ser uma ao direta do operador (com a chamada do mtodo StopRecordFile ), um dgito recebido ou ainda um erro qualquer (disco cheio, por exemplo). Para desativar a thread de controle de gravao (iniciada pelo EnableInputBuffer) deve ser chamado o mtodo DisableInputBuffer, passando como parmetro a porta. O melhor lugar para desabilitar a thread de controle de gravao no evento OnRecordStop pois ali sabemos que a gravao foi efetivamente finalizada e a thread pode ser destruda.

A thread de controle de gravao o processo que consome processamento pois com ela ocorre um intenso I/O entre o device driver e o hardware. Por isso recomendado que ela seja sempre habilitada e desabilitada quando do incio e fim das gravaes.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

73

Guia de Programao
Gravando uma Conversa

recomendado chamar o EnableInputBuffer e DisableInputBuffer no comeo e no fim da aplicao, respectivamente, pois o processo de criao de threads pode ser um pouco lento em relao algumas situaes onde o comeo e fim de gravao muito rpido (grande volume de ligaes) e fazer com que a repetida chamada do EnableInputBuffer possa retornar erro devido ao fato do DisableInputBuffer anterior ainda no ter fechado o arquivo. Sempre quando o EnableInputBuffer for chamado uma nica vez no incio da aplicao, o mtodo PauseInputBuffer dever ser chamado para evitar o consumo desnecessrio de processamento em momentos onde no for necessria sua utilizao. Este mtodo chamado com o parmetro porta e com um segundo parmetro que indica para colocar a thread em pausa (DG_PAUSE(1)) ou sair da paus (DG_RELEASE(0)).

Exemplo (usando o ActiveX):

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

74

Guia de Programao
Gravando uma Conversa
Aps falar: "Grave seu recado e ao final digite # se quiser falar com a telefonista", o sistema iniciar a gravao. Se for detectado o #, discar para o ramal 200. Exemplo em VB6: Private Sub DeixarRecado() VoicerLib.EnableInputBuffer 1,DG_ENABLE 'Inicia gravao VoicerLib.RecordFile(1,"c:\recado.gsm,"#") 'Lembre que o programa segue o fluxo normal aps iniciada a gravao End Sub

'Rotina de tratamento do click de um boto para o caso de o operador parar a gravao manualmente Private Sub cmdParaGravar_Click() VoicerLib.StopRecordFile(1) End Sub

'Evento que ocorre quando a gravao finalizada necessrio analisar o motivo Private Sub VoicerLibX1_OnRecordStop(ByVal Port as Integer, Status As VoicerLib.TxStopStatus) Select Case Status Case ssStopped: 'Gravao interrompida pelo operador VoicerLib.HangUp 1 Case ssDigitReceived: 'Recebeu o digito finalizador If Digits = "#" then 'Transfere para a telefonista VoicerLib.Flash 1,600,1000 VoicerLib.Dial 1,"200",1000 VoicerLib.HangUp 1 End If

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

75

Guia de Programao
Gravando uma Conversa
End Select VoicerLib.DisableInputBuffer Port End Sub Durante a gravao possvel monitorar o seu andamento atravs do evento OnRecording. No ActiveX, o parmetro ElapsedTime indica a quantidade de segundos decorridos at aquele momento. O mesmo ocorre na varivel context_data da API. O mtodo RecordPause, permite interromper temporariamente uma gravao e em seguida continuar no mesmo arquivo. Neste mtodo necessrio passar a porta e um flag booleano indicando se coloca em pausa (TRUE) ou retira da pausa (FALSE).

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

76

Guia de Programao
Reproduzindo Mensagens

Reproduzindo Mensagens
A VoicerLib permite reproduzir qualquer mensagem gravada em formato Wave ou GSM atravs do mtodo PlayFile . O PlayFile detecta automaticamente o tipo de arquivo baseado na extenso. Se encontrar um arquivo com a extenso .gsm tentar reproduzir o arquivo usando o codec GSM. Se for encontrada a extenso .wav, a Voicerlib efetuar uma anlise do cabealho para identificar o tipo de wave. Se for utilizado uma extenso desconhecida, assume o que est especificado no SetPlayFormat. Alm disso, possvel determinar se algum dgito ser utilizado como finalizador da reproduo. Esta caracterstica interessante para, por exemplo, implantar um menu de opes em um sistema de auto-atendimento com a possibilidade de digitar a opo sobre a mensagem. O dgito detectado (se usado) armazenado internamente para cada porta da placa e pode ser recuperado atravs do mtodo ReadDigits podendo ser tratado posteriormente. A VoicerLib assume que o programador sempre dever chamar explicitamente o mtodo ClearDigits para apagar o buffer de dgitos sempre quando for necessrio. Sempre quando for iniciada a reproduo, o evento OnPlayStart gerado. Uma finalidade deste evento permitir atualizaes de interface, como por exemplo, desabilitar botes e exibir mensagens ao usurio. Ao trmino da reproduo o evento OnPlayStop gerado automaticamente, inclusive informando qual o motivo da interrupo da reproduo. Este motivo pode ser uma ao direta do operador (com a chamada do mtodo StopPlayFile), um dgito recebido, o simples trmino da mensagem ou ainda um erro qualquer (disco cheio, por exemplo). Se um dgito for detectado durante a reproduo (desde que o

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

77

Guia de Programao
Reproduzindo Mensagens
parmetro TermDigits tenha sido configurado), alm do evento OnPlayStop, gerado tambm o evento OnDigitsReceived passando na varivel Status o valor edDigitOverMessage. Isto facilita a criao de menus de atendimento, j que toda a consistncia do que foi digitado pode ser feita apenas no evento OnDigitsReceived. O ltimo parmetro do PlayFile (Origin) permite comear a reproduzir a mensagem a partir de um determinado ponto. Por exemplo, para reproduzir uma mensagem a partir de 10 segundos do incio dela, basta colocar o nmero 10 neste parmetro. Isto til para funes de reproduo de mensagens. Se for passado (0) ZERO como parmetro, a mensagem ser reproduzida do incio. Se for passado -1 como parmetro a mensagem comear a ser reproduzida do final menos 2 segundos. Exemplo: VoicerLibX1.PlayFile(1,"c:\boas_vindas.wav,"345",0) Neste exemplo iniciada a reproduo de um arquivo chamado boas_vindas.wav e os dgitos 3,4 e 5 podero interromper a reproduo da mensagem, caso sejam detectados.

Devido caractersticas de implementao, a reproduo de mensagens no necessita que o buffer de amostras seja ativado antes da reproduo, como feito na gravao. Para maiores detalhes de como enviar amostras para a placa diretamente, consulte o tpico Streaming de udio.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

78

Guia de Programao
Conferncia entre portas

Conferncia entre portas


A VoicerLib na placa E1, oferece recursos que permitem que determinadas portas possam conversar com outras. Com isso possvel criar salas de conferncia onde vrias pessoas possam conversar entre si. Este mesmo recurso foi utilizado para a criao da thread de Logger, utilizada na gravao em paralelo para placas E1 explicada anteriormente. suportado at 30 salas de conferncia com nmero varivel de portas por sala. Para criar uma sala de conferncia utiliza-se o mtodo CreateChatRoom que possui como parmetro a placa que gerenciar o recurso e o nmero mximo de portas que esta sala poder receber. O retorno deste mtodo o identificador/handle da sala e ser necessrio nos demais mtodos, portanto, sempre armazene o retorno do mtodo de maneira que possa ser utilizado posteriormente. Para excluir uma sala, o mtodo utilizado o DestroyChatRoom, que sempre dever ser chamado antes de finalizar uma aplicao, pois alm de alocar recursos da placa, tambm utilizado estruturas de memria que s so liberadas quando uma sala explicitamente destruda. A incluso de portas em uma sala de conferncia deve sempre ser feita pelo mtodo ChatAddPort passando a porta e o identificador da sala. Ao incluir uma porta na sala, esta no estar ainda disponvel para ouvir e falar com os outros participantes, precisando ainda habilitar a porta na sala. Essa separao entre os procedimentos de adicionar e habilitar foi utilizada para que seja possvel uma porta interagir com menus, por exemplo, sem deixar a sala. Para habilitar uma porta na sala utilize o mtodo ChatEnablePort que ainda permite dizer se a porta s falar, s ouvir ou ambos em determinada sala, atravs da parmetro Direction. Isso d extrema versatilidade em termos de aplicaes possveis utilizando a VoicerLib.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

79

Guia de Programao
Conferncia entre portas
O mtodo ChatDisablePort permite desabilitar uma porta da sala, sem remov-la definitivamente, como j foi explicado anteriormente. Em uma aplicao, isso permite, por exemplo que o participante possa, durante a conversa, teclar um dgito e entrar em um menu de opes qualquer. Depois de interagir com este menu, poder voltar novamente sala chamando o mtodo ChatEnablePort novamente. Para remover uma porta de uma sala definitivamente, utilize o mtodo ChatRemovePort . Esta situao ocorreria quando o usurio fosse embora da sala de conferncia, desligando ou movendo-se para outra sala. Por fim, um recurso adicional a possibilidade de gravao do que se fala na sala de conferncia. Isto possvel atravs do mtodo SetPortChatLog, que habilita ou desabilita determinada porta receber o udio de todas as outras portas participantes de uma conferncia. importante entender que a porta escolhida para ouvir e gravar a conferncia no poder estar participando desta ou de qualquer outra conferncia enquanto a opo estiver habilitada.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

80

Guia de Programao
Streaming de udio

Streaming de udio
Uma importante evoluo da Voicerlib2 para Voicerlib4 o tratamento de streaming de udio. A utilizao deste recurso necessrio quando a aplicao precisa receber da placa ou enviar para a placa, amostras de udio sem manipulao de arquivos, somente utilizando a memria. O exemplo tpico uma aplicao que "conversa" com outra pela rede (VoIP). O suporte ao Asterisk, disponvel nesta verso da VoicerLib foi feito utilizando dos recursos de streaming. Um conceito importante que o streaming de udio pode ser feito em qualquer formato suportado pela VoicerLib, inclusive o GSM (excelente para aplicaes VoIP). Todos estes formatos so tratados pelo processador de cada placa, no utilizando recursos da CPU do micro para codificao/decodificao de formatos de udio. Enviando udio para uma porta da Placa Para indicar qual o formato utilizado para envio de amostras para uma porta da placa Digivoice deve ser utilizado o mtodo SetPlayFormat, o mesmo utilizado para a reproduo de mensagens gravadas. O mtodo para enviar amostras para a placa o PlayBuffer que tem como parmetro a porta, um ponteiro de memria com o buffer de amostras a ser enviado e a quantidade de amostras que dever ser enviada. Quando uma aplicao enviar amostras para a placa, importante respeitar a cadncia de tempo que estas amostras devem ser enviadas para que se tenha uma reproduo contnua de udio, sendo que, no formato GSM, so enviadas 33 amostras a cada 20ms e no caso do wave (uLaw ou aLAw) so 16 amostras a cada 2ms (muito rpido). Esta necessidade de velocidade que tambm refora a utilizao do GSM para este tipo de aplicao. O mtodo PlayBuffer permite o envio, em uma nica chamada, de mltiplos destes valores(33 ou 16 amostras). Por exemplo, no formato wave possvel passar 32,64,etc amostras pois

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

81

Guia de Programao
Streaming de udio
internamente essas amostras so bufferizadas para serem enviadas para a placa no momento certo. Porm preciso tomar certos cuidados para no enviar uma quantidade de amostras maior do que a VoicerLib possa tratar. Nesta situao, o udio perder algumas amostras, aparecendo picotado. O ltimo parmetro do PlayBuffer permite que seja passado um ponteiro para um inteiro que receber, no retorno do mtodo, a quantidade de bytes livres no buffer. A aplicao dever monitorar se existem amostras a serem enviadas para a placa. Caso no haja, dever chamar o mtodo StopPlayBuffer para que a placa no fique reproduzindo o ltimo buffer de amostras, o que acarretaria em um zumbido. Caso a aplicao queira enviar um rudo de conforto (confort noise), dever gerar este rudo por conta prpria e envi-lo para a placa. Recebendo udio de uma porta da Placa Este procedimento exatamente o inverso do anterior. Aqui as amostras que a porta da placa recebe so enviadas para a aplicao para da serem tratadas quando for necessrio. Como neste caso, a VoicerLib que sabe quando as amostras esto disponveis, o mecanismo um pouco mais complexo do que o uso do PlayBuffer/StopPlayBuffer. Conforme j foi explicado no tpico "Gravando uma Conversa", a VoicerLib 4 exige que o envio de amostras da placa para a aplicao seja habilitada atravs do mtodo EnableInputBuffer e desabilitada pelo DisableInputBuffer. Uma vez que as amostras esto disponveis, a VoicerLib pode decidir se vai gravar estas amostras em disco (RecordFile) ou as enviar para a aplicao final. Neste segundo caso, necessrio a utilizao de uma funo do tipo Callback. Uma funo do tipo CallBack uma funo convencional na linguagem de programao utilizada pelo desenvolvedor. A nica diferena que quem chamar esta funo a VoicerLib e no a aplicao final. Quando houver amostras disponveis, a VoicerLib

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

82

Guia de Programao
Streaming de udio
chamar diretamente a funo da aplicao disponibilizando assim as amostras de udio. Esse procedimento muito similar aos eventos, porm com um compromisso de tempo real que os eventos no podem garantir. A utilizao de linguagem C recomendada para aplicaes deste tipo, devido facilidade que este tipo de recurso tem nesta linguagem. Observe o exemplo: void CALLBACK InputStreaming(short port, int count, void *data) { //pega as amostras em *data } Para informar a VoicerLib qual a funo Callback, utilize o mtodo SetAudioInputCallback que passa como parmetro o ponteiro da funo callback. Depois de feita essa associao e de habilitado o envio de amostras (EnableInputBuffer) a funo callback ser acionada toda vez que houverem amostras disponveis. SetAudioInputCallback(InputStreaming); importante ressaltar que de responsabilidade da aplicao ter capacidade de receber e tratar todas as amostras recebidas, criando buffers se forem necessrios.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

83

Guia de Programao
Utilizando a placa VB0404GSM

Utilizando a placa VB0404GSM


A placa VB0404GSM uma placa de 2 ou 4 portas, voltada para aplicaes de comunicao com telefonia mvel. Cada porta possui um mdulo GSM responsvel pela comunicao com a rede de telefonia mvel. A possibilidade de reduo de custos por ligaes de aparelhos de telefonia mvel para aparelhos de telefonia mvel, com tarifas muito menores que as tarifas de ligaes entre aparelhos de telefonia mvel e telefonia fixa, impulsionou o mercado de sistemas GSM. A placa VB0404GSM tem a maioria de suas funcionalidades compatveis com as caractersticas da VoicerLib nas outras placas, como a VB0408PCI ou VB0408PCIe. Algumas novas funcionalidades foram includas principalmente no envio e recebimento de mensagens SMS.

Thread de GSM Pelas caractersticas dos mdulos GSM necessria a utilizao de uma thread para cada porta da placa VB0404GSM. A thread de GSM deve ser iniciada aps o mtodo StartVoicerLib atravs do mtodo CreateGSMThread. Como a inicializao dos mdulos um processo lento, pois envolve conexo com a operadora de telefonia mvel e vrias outras configuraes, o mtodo CreateGSMThread retorna antes da concluso da inicializao e foi criado um evento OnGSMReady sinalizando se toda a inicializao foi concluida corretamente ou no. Este evento deve ser aguardado antes do envio de qualquer outro comando para a porta inicializada (port). Antes de chamar o mtodo ShutdownVoicerLib necessrio chamar o mtodo DestroyGSMThread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

84

Guia de Programao
Utilizando a placa VB0404GSM
Configurando a Thread de GSM Alguns mtodos foram desenvolvidos para a configurao da thread GSM. No necessrio iniciar a thread GSM para configur-la, ou seja, os valores configurados sero assumidos ao criar a thread. Porm se a thread estiver iniciada, e seja necessrio configura-la, necessrio desabilitar a thread GSM com o mtodo DisableGSMThread e aps a configurao ter sido concluda, habilitar a thread (EnableGSMThread), dessa forma a thread ser reiniciada com os valores configurados. Mtodos para configurao: ConfigGSMThread: para as configuraes de timeout de respostas de mensagens (GSMCFG_DIGIT_TIMEOUT), para restrio de envio de identificao de assinante em ligaes de sada (GSMCFG_ID_RESTRICTION), para habilitar ou desabilitar o recebimento de notificao de segunda chamada (GSMCFG_CALL_WAITING_ENABLE), para configurar o tempo entre as tentativas de inicializao dos mdulos (GSMCFG_RETRY_TIMEOUT) e para configurar o tempo de recebimento de resposta aps o envio de um comando (GSMCFG_ANSWER_TIMEOUT). GSMSetPinNumber: para a configurao do PIN Number quando a operadora de telefonia mvel exigir esta configurao. Na utilizao desse mtodo no necessrio desabilitar e habilitar a thread GSM. Mensagens SMS O envio e recebimento de mensagens SMS um recurso muito importante da placa VB0404GSM, possibilitando inmeras funes de operao e manuteno de sistemas tais como envio de alarmes, comandos de reinicializao de servidores, alm de servidores para prestadores de servio de envio de SMS.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

85

Guia de Programao
Utilizando a placa VB0404GSM
As mensagens SMS no devem ultrapassar 160 caracteres. O gsm possui um set de caracteres que no exatamente o set de caracteres normalmente utilizado em PCs. A VoicerLib faz uma traduo dos caracteres de ANSI para GSM no envio de mensagens SMS e de GSM para ANSI no recebimento de mensagens SMS. Programas cujo set de caracter seja diferente do ANSI podero apresentar algumas letras de forma incorreta, principalmente as acentuadas, "" e alguns smbolos. Envio de mensagens SMS Para o envio de mensagem SMS foi criado o mtodo GSMSendSMS. Neste mtodo o nmero e um ponteiro para a string da mensagem a ser enviada so informados como parmetros. Obs. Tome cuidado ao enviar caracteres no imprimveis ou cujo cdigo ASCII ultrapasse 127. Aps o envio de uma mensagem SMS a VoicerLib enviar o evento OnGSMSMSSent indicando que a porta est pronta para nova operao. Em caso de falha ser gerado um evento de erro OnGSMError com o cdigo de erro correspondente. possvel receber a confirmao do recebimento de uma mensagem SMS por parte do destinatrio atravs do evento OnGSMSMSConfirmation (este recurso depende da disponibilidade da operadora). Para ler a string de confirmao do recebimento de uma mensagem SMS por parte do destinatrio utilize o mtodo GSMGetSMSConfirmation.

Recebimento de mensagem SMS Ao receber uma mensagem SMS em uma das portas da placa VB0404GSM ser gerado um evento OnGSMSMSReceived

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

86

Guia de Programao
Utilizando a placa VB0404GSM
indicando que uma nova mensagem foi recebida. Para ler a mensagem utilize o mtodo GSMGetSMS, de preferncia no tratamento do evento OnGSMSMSReceived para evitar a perda de alguma mensagem em caso de recebimento de vrias mensagens SMS em um curto espao de tempo. Sempre que uma mensagem recebida, esta apagada do mdulo GSM automaticamente se a thread GSM estiver rodando. Listando o ndice de mensagens e apagando mensagens SMS no mdulo GSM Se um mdulo da placa receber uma mensagem SMS e a thread GSM no estiver ativa, a mensagem ficar armazenada na memria do mdulo GSM. Para poder apagar as mensagens armazenadas preciso obter uma lista com os ndices de cada mensagem armazenada com o mtodo GSMListSMS. Aps o recebimento das informaes da lista de mensagens, a VoicerLib gera o evento OnGSMReturnOK. A lista dos ndices das mensagens poder ser obtida atravs do mtodo GSMGetIndexList. Tais ndices devero ser utilizados nos mtodos de apagamento das mensagens SMS (GSMDeleteSMS ou GSMReadAndDeleteSMS). O mtodo GSMClearAllSMS apaga todas as mensagens armazenadas no mdulo GSM. Atendimento de segunda chamada e conferncia A placa VB0404GSM permite o atendimento de mais que uma chamada por mdulo e a conferncia com at 7 participantes por porta GSM. Para utilizar estas facilidades preciso se certificar que o servio est disponvel pela operadora de telefonia mvel e utilizar o mtodo GSMCallControl. Mtodos especiais

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

87

Guia de Programao
Utilizando a placa VB0404GSM
Alguns mtodos e eventos foram criados principalmente para DEBUG e so apresentados a seguir. OnGSMMessage um evento enviado sempre que uma mensagem vlida, no necessariamente SMS, recebida por um mdulo GSM. As mensagens recebidas podem ser obtidas pelo mtodo GSMGetMessage. Com esse evento possvel saber tambm, qual foi o ltimo comando enviado para a placa, com o mtodo GSMGetLastCommand. GSMSendCommand envia um comando ao mdulo da porta especificada. Este mtodo deve ser utilizado com muito cuidado pois um comando errado pode causar mal funcionamento ou travamento dos mdulos. OnGSMTimeout, quando um comando no obtm resposta do respectivo mdulo ou a resposta chega incompleta, este evento pode chegar juntamente com OnGSMError. GSMCheckSignalQuality usado para obter a qualidade do sinal recebido por um canal da placa VB0404GSM. Aps o envio deste mtodo gerado um evento OnGSMSignalQuality indicando que, um string com o valor da qualidade de sinal pode ser obtido atravs do mtodo GSMGetSignalQuality. Os valores podem variar de 0 a 31, sendo 0 igual ou inferior a 113 dBm e 31 igual ou superior a -51 dBm. Para reiniciar um mdulo GSM em uma porta especfica utilize o mtodo GSMRestartPort. A VoicerLib gera um evento na insero ou retirada do SIM Card (chip) nos mdulos GSM, permitindo por exemplo que o programador reinicie a thread GSM aps a insero de um chip na placa (OnGSMSIM).

Casos particulares

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

88

Guia de Programao
Utilizando a placa VB0404GSM
Antes de iniciar uma discagem no necessria a utilizao de um comando Pickup, bastando a utilizao direta do comando Dial. Para sobrediscagem de DTMF aps o atendimento, ou seja, em caso de acesso URAs (IVR) necessrio utilizar o comando Dial com o parmetro "dtDirectMF" como nas placas E1. OBS: A placa VB0404GSM, devido s suas caractersticas particulares no admite o uso do mtodo MakeCall da OCX (exclusivo para Windows). Resumo dos mtodos: dg_ConfigGSMThread dg_CreateGSMThread dg_DestroyGSMThread dg_DisableGSMThread dg_EnableGSMThread dg_GSMCallControl dg_GSMCheckSignalQuality dg_GSMClearAllSMS dg_GSMDeleteSMS dg_GSMGetIndexList dg_GSMGetLastCommand dg_GSMGetMemory dg_GSMGetMessage dg_GSMGetSMS dg_GSMGetSMSConfirmation dg_GSMGetSignalQuality dg_GSMListSMS dg_GSMReadAndDeleteSMS dg_GSMRestartPort dg_GSMSendCommand dg_GSMSendSMS dg_GSMSetPinNumber (ConfigGSMThread) (CreateGSMThread) (DestroyGSMThread) (DisableGSMThread) (EnableGSMThread) (GSMCallControl) (GSMCheckSignalQuality) (GSMClearAllSMS) (GSMDeleteSMS) (GSMGetIndexList) (GSMGetLastCommand) (GSMGetMemory) (GSMGetMessage) (GSMGetSMS) (GSMGetSMSConfirmation) (GSMGetSignalQuality) (GSMListSMS) (GSMReadAndDeleteSMS) (GSMRestartPort) (GSMSendCommand) (GSMSendSMS) (GSMSetPinNumber)

Resumo dos eventos: EV_GSMCONFIRMATION (OnGSMSMSConfirmation)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

89

Guia de Programao
Utilizando a placa VB0404GSM
EV_GSMERROR EV_GSMMEMORY EV_GSMMEMORYFULL EV_GSMMESSAGE EV_GSMOTHERCALL EV_GSMREADY EV_GSMRETURNOK EV_GSMSIM EV_GSMSIGNALQUALITY EV_GSMSMSRECEIVED EV_GSMSMSSENT EV_GSMTIMEOUT (OnGSMError) (OnGSMMemory) (OnGSMMemoryFull) (OnGSMMessage) (OnGSMOtherCall) (OnGSMReady) (OnGSMReturnOk) (OnGSMSIM) (OnGSMSignalQuality) (OnGSMSMSReceived) (OnGSMSMSSent) (OnGSMTimeout)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

90

Guia de Programao
Gravao em Paralelo

Gravao em Paralelo
A gravao em paralelo utilizada quando as placas DigiVoice ficam apenas monitorando (em paralelo) a linha, sem interferir no andamento da conversao. Neste caso, nunca utilize os mtodos PickUp ou HangUp pois no se trata de uma ligao terminada em uma porta da placa. Para montar a estrutura de gravao em paralelo necessrio que a forma como os cabos so conectados seja respeitada para cada tipo de placa.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

91

Guia de Programao
Gravao em Paralelo Placas FXO
A placa FXO pode ser configurada com 4 ou 8 canais. No primeiro e no segundo conector (de cima para baixo) esto as portas de 1 a 4 e de 5 a 8, respectivamente, sendo um par de fios para cada porta. O terceiro e quarto conectores devem ser utilizados para a sada da porta para a ligao em paralelo.

Placa FXO

Exemplo: A porta 1 entrar pelo primeiro par de fios do primeiro conector (mais acima) e sair pelo primeiro par de fios do terceiro conector. (Em uma gravao terminada (sem paralelo), os dois conectores inferiores no so utilizados)

A explicao detalhada da conexo fsica est no manual do kit integrador no tpico da placa VB0408PCI e VB0408PCIe.

Ao tirar o telefone do gancho gerado o evento OnLineReady e ao colocar o telefone no gancho gerado o evento OnLineOff. Estes eventos devero ser utilizados para iniciar (RecordFile) ou finalizar (StopRecordFile) a gravao. Para saber se determinada ligao entrante ou sainte, o aplicativo dever monitorar tons de linha,

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

92

Guia de Programao
Gravao em Paralelo
dgitos e a chegada de Bina. No existe um mtodo ou propriedade na VoicerLib que d essa informao pronta ao programador.

Placas E1
A placa com a finalidade de gravao dever ter obrigatoriamente 60 canais para que seja possvel gravar 30 canais simultneos. Utilizar as placas VB6060PCI/VB6060PCIe.

A conexo fsica, com a descrio dos cabos necessrios explicada no manual do Kit Integrador, que acompanha a placa e tambm est em nosso site www.digivoice.com.br.

A VoicerLib tambm gera os eventos OnLineReady e OnLineOff para a placa E1, mas isso no automtico e sua configurao difere bastante das placas FXO. muito importante entender que a placa E1 para gravao em paralelo ser sempre uma placa de 60 portas (dois E1) mas disponibilizar somente as 30 primeiras portas para gravao. No caso da utilizao de mais de uma placa, o programador dever estar atento pois todos os eventos e mtodos devero referenciar apenas as 30 primeiras portas de cada placa portanto existiro apenas os canais 1-30, 61-90, ... e assim sucessivamente. Para evitar este "salto" de portas, o desenvolvedor e poder utilizar os mtodos de portas virtuais, onde possvel associar um nmero de porta qualquer a uma porta fsica da placa. Veja maiores detalhes no tpico "Portas Virtuais". Para controlar a gravao, uma thread de controle dever ser criada atravs do mtodo CreateLoggerControl . Deve ser passado a porta e o tipo de protocolo utilizado. A VoicerLib suporta apenas o RD2 MF, portanto o segundo parmetro receber sempre a constante LOGGER_R2DMF (100).

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

93

Guia de Programao
Gravao em Paralelo
Ao criar esta thread de controle, todos as portas ficaro em estado de espera, monitorando a linha. Quando uma ligao estiver sendo iniciada (entrante ou sainte) a thread ir monitorar toda a troca de sinalizao e o evento OnLoggerEvent ser gerado diversas vezes, indicando para a aplicao as diversas etapas at o incio da conversao propriamente dito. O evento OnLoggerEvent receber o parmetro LoggerStatus, que poder assumir os seguintes valores: LOGGER_FREE_WITH_BILLING - Linha de Assinante Livre com Tarifao LOGGER_BUSY - Porta ocupada LOGGER_NUMBER_CHANGED - Linha de assinante mudado LOGGER_CONGESTION - Congestionamento LOGGER_FREE_WITHOUT_BILLING - Assinante Livre sem tarifao LOGGER_FREE_RETENTION - Assinante Livre com tarifao e colocar retenso sob controle do assinante chamado LOGGER_LEVEL_NUMBER_AVAILABLE - Nvel ou Nmero Vago LOGGER_B_ENDCALL - Assinante B desligou. Quando o assinante B desliga no significa necessariamente que a ligao terminou LOGGER_B_RETURN - Assinante B retornou a ligao. Ocorre aps o LOGGER_B_ENDCALL caso o assinante B retorna ligao LOGGER_LINEREADY (*) - LineReady significa o local do incio efetivo da conversao LOGGER_LINEOFF (*) - LineOff significa o local do trmino efetivo da conversao (*) O incio e fim de conversao poder ser tratado tanto nos eventos OnLineReady e OnLineOff como nos status LOGGER_LINEREADY e LOGGER_LINEOFF. No incio da conversao, a VoicerLib permite que seja extrado o nmero discado (atravs do mtodo GetE1Number), a identificao de A (mtodo GetCallerID) e tambm se a ligao de entrada ou sada (mtodo GetLoggerCallType). Observe o

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

94

Guia de Programao
Gravao em Paralelo
fragmento de cdigo a seguir, que mostra todas as informaes necessrias, inicia e termina a gravao: (ActiveX)
Private Sub vlib_OnLoggerEvent(ByVal Port As Integer, ByVal LoggerStatus As Integer) Dim sBina As String, sE1 As String, sTipo As String Dim nRet As Integer Select Case LoggerStatus Case LOGGER_LINEREADY: sE1 = vlib.GetE1Number(Port) sBina = vlib.GetCallerID(Port)

'pega nmero do E1 'pega BINA

If vlib.GetLoggerCallType(Port) = INCOMINGCALL Then sTipo = "Entrante" Else sTipo = "Sainte" End If MostraStatus Port, "Logger LineReady (" + sTipo + ") (Caller ID: " & sBina & ", E1 Number: " & sE1 & ")" vlib.EnableInputBuffer Port, DG_ENABLE 'Aqui inicia a gravao nRet = vlib.RecordFile(Port, App.Path & "\grava" & Port & ".gsm", "") If nRet <> DG_EXIT_SUCCESS Then MostraStatus Port, "ERRO: No foi possvel gravar arquivo" Else MostraStatus Port, "Iniciando Gravao" End If Case LOGGER_LINEOFF: vlib.DisableInputBuffer Port 'Termina gravao nRet = vlib.StopRecordFile(Port) If nRet <> DG_EXIT_SUCCESS Then MostraStatus Port, "ERRO ao tentar interromper gravao" Else MostraStatus Port, "Gravao Finalizada" End If End Select End Sub

(API)
void ReceiveEvents(void *context_data) { struct dg_event_data_strucuture *EventContext; char szCallerID[25]; char szE1Number[25];

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

95

Guia de Programao
Gravao em Paralelo
char szFileName[255]; short ret; /* Copy received Data */ EventContext = ((struct dg_event_data_strucuture*)context_data); switch (EventContext->command) { case EV_LOGGEREVENT: switch(EventContext->data) { case LOGGER_LINEREADY: dg_getcallerid(EventContext->port,szCallerID); //pega nmero do E1 dg_gete1number(EventContext->port,szE1Number); //pega BINA printf("LineReady (Caller ID: %s, E1 Number: %s)\n",szCallerID,szE1Number); if (dg_getloggercalltype==INCOMINGCALL) printf("Ligao Entrante\n"); else printf("Ligao Sainte\n"); //Cria arquivo de gravacao dg_setrecordformat(EventContext->port,ffGSM610); sprintf(szFileName,"grava%d.gsm", EventContext->port); //Aqui inicia a gravao ret = dg_recordfile(EventContext->port,szFileName,""); if (ret !=DG_EXIT_SUCCESS) printf("Nao foi possivel iniciar gravacao"); break; case LOGGER_LINEOFF: printf("LineOff - Fim da gravacao"); //Termina gravao ret = dg_stoprecordfile(EventContext->Port); if (ret !=DG_EXIT_SUCCESS) printf("Nao foi possivel finalizar gravacao"); break; } break; } }

Sempre dever ser chamado o mtodo DestroyLoggerControl para fechar as threads de controle antes de finalizar a VoicerLib.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

96

Guia de Programao
Programao das Placas E1

Programao das Placas E1


Em um feixe E1 podemos ter vrios protocolos de sinalizao. Esta documentao diz respeito sinalizao de linha R2D e de registro MFC 5C e sinalizao ISDN PRI. Cada feixe E1 comporta 30 canais , mas como podemos ter 2 E1 em uma placa e mais que uma placa em um PC trataremos como porta o nmero sequncial de canais nos vrios E1, ou seja, podemos ter porta 1,2,3....121,122,123 etc.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

97

Guia de Programao
Programao das Placas E1 Configuraes de Sincronismo
Devido caractersticas existentes somente nas linhas digitais (E1) , o desenvolvedor deve prestar ateno s configuraes de sincronismo aps a inicializao. Sempre aps inicializar o driver (StartVoicerLib) necessrio configurar o modo de operao e o sincronismo das placas. Caso esta configurao seja omitida, a aplicao poder apresentar erros de sinalizao, etc... O sincronismo depender basicamente do ambiente onde as placas esto ligadas (tronco E1). Normalmente, se as placas esto conectadas diretamente rede pblica, esta fornece o sincronismo necessrio, portanto as placas devero ser configuradas com sincronismo EXTERNO. Em ambientes onde a placa E1 seja a responsvel por fornecer o sincronismo, este dever ser configurado como INTERNO. O mtodo SetCardSyncMode tem apenas 2 parmetros, sendo que o primeiro parmetro a placa na qual ser aplicada a configurao e o segundo indicar qual o modo de operao ser configurado, veja a seguir: MASTER_INTERNAL_SYNC - Placa MASTER com sincronismo interno MASTER_SYNC_A - Placa MASTER com sincronismo externo no E1 A (Primeiro E1) MASTER_SYNC_B - Placa MASTER com sincronismo externo no E1 B (Segundo E1, em placas de 60 canais) Uma forma de verificar se o sincronismo est configurado de maneira errada a existncia de eventos OnE1Alarm, principalmente com o status ALARM_RSLIP.

Exemplo (ActiveX): Private Sub Iniciar() Dim nRet as Integer 'Inicia Driver

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

98

Guia de Programao
Programao das Placas E1
nRet = VoicerLib.StartVoicerLib If nRet = DG_EXIT_SUCCESS then 'Placa iniciada com sucesso, configura sincronismo interno na placa 1 VoicerLib.SetCardSyncMode 1, MASTER_INTERNAL_SYNC End If End Sub

Alarmes
A placa E1 gera eventos de alarmes indicando qualquer tipo de problema nos troncos E1. Estes alarmes podem ser causados por falhas de configurao de sincronismo, discutido no tpico anterior, ou por algum tipo de problema de conexo fsica (cabos, etc...). A monitorao dos alarmes essencial para o funcionamento das aplicaes que utilizam a placa E1. Por padro inicial a notificao dos alarmes manual, ou seja, a placa no envia estes alarmes para a VoicerLib e esta consequentemente no gera o evento OnE1Alarm. Se for necessrio saber o status do alarme, necessrio chamar o mtodo GetAlarmStatus. Este comportamento pode ser alterado atravs do mtodo SetAlarmMode na qual passa-se a placa e o modo de operao que pode ser manual (padro) ou automtico. Como j foi dito, no modo manual (ALARM_MANUAL_NOTIFY), o evento OnE1Alarm s gerado aps a chamada do mtodo GetAlarmStatus. J no modo automtico (ALARM_AUTOMATIC_NOTIFY), o evento OnE1Alarm ocorre sempre quando um alarme for detectado. recomendado utilizar o modo automtico mas somente depois de configurar o sincronismo das placas. Os tipos de alarme possveis so: - ALARM_RSLIP (0x01) - Escorregamento (problema de sincronismo) - ALARM_RAIS (0x02) - Alarme remoto

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

99

Guia de Programao
Programao das Placas E1
ALARM_AISS (0x04) - Indicao de alarme ALARM_AIS16S (0x08) - Indicao de alarme canal 16 ALARM_LOSS (0x10) - Perda de sinal ALARM_CRC4SYNC (0x20) - Alarme de CRC4 ALARM_MFSYNC (0x40) - Sincronismo de multiquadro ALARM_SYNC (0x80) - Sincronismo de quadro ALARM_LINK (0x100) - Sincronismo do protocolo ISDN

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

100

Guia de Programao
Programao das Placas E1 Protocolo CAS Customizado
Introduo CAS Customizado

As placas E1 podem ser utilizadas tambm em posio de ramal, em PABX que oferecem este recurso. Normalmente, existem protocolos especficos por fabricante para emular a operao de um telefone analgico (Atender, Desligar, Flash, etc...). A VoicerLib oferece alguns mtodos que permitem implementar essas funcionalidades: CreateCustomCAS DestroyCustomCAS ConfigCustomCAS

Nem todas as situaes de ramais CAS podero estar previstas nesses mtodos. Novas implementaes sero feitas pela DigiVoice medida que novos protocolos apaream.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

101

Guia de Programao
Programao das Placas E1 Protocolo ISDN PRI
Inicializao Protocolo ISDN PRI

O protocolo ISDN PRI muito utilizado na comunicao entre centrais telefnicas. A VoicerLib permite a criao de threads que interagem com centrais pblicas e PABX utilizando esse protocolo por meio de troncos E1. Aps iniciar o driver pelo mtodo StartVoicerLib, necessrio configurar o modo de operao da placa E1, habilitando o uso de CRC4 pelo mtodo SetE1CRC4Option, e indicando a opo adequada de sincronismo pelo mtodo SetCardSyncMode. Antes de criar threads ISDN PRI tambm necessrio configurar o modo de utilizao do protocolo, por meio do mtodo ConfigISDNThread. Estas configuraes devem ser feitas por span. As configuraes necessrias so: - ISDN_SET_LOCALTYPE: indica o tipo do ambiente, podendo ser do tipo network (NET) ou do tipo user (CPE). Normalmente, a central pblica configurada como NET e o PABX como CPE. O ambiente do tipo CPE funciona apenas com o tipo NET e viceversa; - ISDN_SET_SWITCHTYPE: indica o padro do protocolo ISDN PRI. A implementao do protocolo ISDN PRI feita na VoicerLib baseada no padro europeu, portanto, deve-se configurar como ISDN_EUROISDN_E1; - ISDN_SET_MIN_DIGITS: indica o nmero mnimo de dgitos que sero aceitos em chamadas entrantes; - ISDN_SET_MAX_DIGITS: indica o nmero mximo de dgitos que sero aceitos em chamadas entrantes; - ISDN_SET_AUTO_SIGNALING: quando habilitado, indica que

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

102

Guia de Programao
Programao das Placas E1
a VoicerLib ir tratar a sinalizao de chamadas entrantes automaticamente, sem qualquer interferncia da aplicao. Quando desabilitado, a aplicao poder interagir no processo de aceitao de chamadas entrantes por meio da leitura dos dgitos recebidos. Veja mais detalhes sobre esta opo no tpico Recebendo chamadas; - ISDN_SET_EXCLUSIVE_CHANNEL: quando habilitado, a VoicerLib somente ir estabelecer a chamada na porta indicada ao fazer uma chamada sainte. Caso a porta indicada j esteja sendo utilizada, a chamada sainte no ser completada. Quando desabilitada, a VoicerLib tentar estabelecer a chamada na porta indicada. Se o PABX ou a Central Pblica indicar que deseja estabelecer a chamada em outra porta, a VoicerLib aceitar. Neste caso, a VoicerLib indica a troca de portas por meio do evento OnChannel. - ISDN_SET_GENERATE_TONE: quando habilitado, a VoicerLib gera tom de chamando para o PABX ou a central pblica quando recebe uma chamada. Uma vez feita a configurao das threads ISDN PRI, possvel cri-las por meio do mtodo CreateISDNThread. Deve ser criada uma thread para cada span. Caso seja necessrio, possvel destruir uma thread ISDN PRI por meio do mtodo DestroyISDNThread. Caso a aplicao j tenha criado alguma thread ISDN PRI e for necessrio alterar qualquer configurao, possvel desabilitar a thread desejada pelo mtodo DisableISDNThread, reconfigur-la usando o mtodo ConfigISDNThread e habilit-la novamente pelo mtodo EnableISDNThread. Este processo faz com que todas as portas referentes ao span selecionado sejam resetadas.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

103

Guia de Programao
Programao das Placas E1
Funes de Controle da Thread ISDN PRI Em algumas situaes pode ser necessrio parar a thread ISDN PRI para efetuar algum controle manualmente. Para isso foram criados os mtodos EnableISDNThread e DisableISDNThread. Com eles possvel desabilitar a thread ou reabilit-la sem ter que destrui-la ou recri-la, pois so processos com maior consumo de processamento. Nos dois mtodos, so passados como parmetros a placa e o span. Ao chamar o mtodo de criao da thread CreateISDNThread no necessrio habilit-la, pois ao criar, ela estar automticamente habilitada. O mtodo EnableISDNThread s til aps o uso de um DisableISDNThread. Tambm possvel saber se a thread ISDN PRI est habilitada ou no atravs do mtodo GetISDNThreadStatus. Este mtodo recebe a placa e o span como parmetro e devolve os seguintes valores: DG_E1_THREAD_ENABLED (1) - Thread habilitada DG_E1_THREAD_DISABLED (0) - Thread desabilitada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

104

Guia de Programao
Programao das Placas E1
Efetuando Chamadas Aps iniciar o driver pelo mtodo StartVoicerLib e criar as threads ISDN PRI, possvel efetuar chamadas. Para efetuar chamadas, pode-se configurar certas particularidades, so elas: - Tipo de chamada utilizada: indica particularidades da chamada, tal como o codec utilizado, por meio do mtodo SetBearerCapability; - Tipo do nmero local: indica particularidades do ramal local, tal como o tipo de nmero, por meio do mtodo SetCallingNumber; - Tipo do nmero remoto: indica particularidades do ramal remoto, tal como o tipo de nmero, por meio do mtodo SetCalledNumber; - Envio de identificao do nmero (BINA): especifica a identificao enviada na chamada sainte pelo mtodo SetPortID; - Envio do nome da identificao do nmero: especifica o nome da identificao do nmero enviado na chamada sainte pelo mtodo SetNameID; - Envio de mensagem de texto: especifica uma mensagem de texto qualquer enviada na chamada sainte pelo mtodo SetText. Depois das configuraes realizadas, as informaes ficam armazenadas em memria pela VoicerLib e sero utilizadas em todas as chamadas saintes daquela porta. Para inicar uma chamada, necessrio alocar uma porta utilizando o mtodo PickUp. Se este mtodo retornar DG_ERROR_PORT_ALREADY_IN_USE, indica que a porta j est sendo utilizada por outra chamada. Se ele retornar DG_EXIT_SUCCESS, a porta foi alocada e, aps ocorrer o evento OnDialToneDetected, possvel efetuar a chamada utilizando o mtodo Dial. A VoicerLib ir utilizar as ltimas configuraes de chamada feitas antes do mtodo Dial ser utilizado, tal como SetPortID, SetNameID, SetBearerCapability... Quando o nmero discado estiver chamando, a VoicerLib ir indicar para a aplicao por meio do evento OnCalling a cada 5

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

105

Guia de Programao
Programao das Placas E1
segundos. Quando o nmero discado atender a chamada, a VoicerLib ir indicar para a aplicao por meio do evento OnAnswerDetected.

obrigatrio chamar o mtodo ConfigISDNThread antes a chamada do CreateISDNThread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

106

Guia de Programao
Programao das Placas E1
Recebendo Chamadas Aps iniciar o driver pelo mtodo StartVoicerLib e criar as threads ISDN PRI, possvel receber chamadas. Neste caso, h dois tipos de recebimento de chamadas entrantes. A aplicao escolhe aquela que ir tratar por meio da configurao feita pelo mtodo ConfigISDNThread e pelo parmetro ISDN_SET_AUTO_SIGNALING. Caso a aplicao no especifique o modo de recebimento, a VoicerLib habilita por padro o modo automtico.

- Modo automtico: Ao receber uma chamada entrante, a VoicerLib trata a sinalizao sem qualquer tipo de interferncia da aplicao. Sendo assim, se o nmero de dgitos da chamada entrante estiver no intervalo entre o mnimo e o mximo configurado pela aplicao, a VoicerLib recebe a chamada independentemente do nmero recebido. Este recebimento indicado pelo evento OnRingDetected a cada 5 segundos. Para atender a chamada, a aplicao deve utilizar o mtodo PickUp. - Modo manual: Ao receber uma chamada entrante, a VoicerLib identifica o nmero recebido, o armazena em memria e informa a aplicao por meio do evento OnE1StateChange. A aplicao deve obter o nmero utilizando o mtodo GetE1Number e verific-lo. Caso necessite de mais dgitos, a aplicao deve informar a VoicerLib usando o mtodo SendISDNCommand com o parmetro C_WAITFORDIGITS. Neste caso, a VoicerLib espera por mais dgitos e, quando eles chegarem, ela informa a aplicao com o mesmo evento, OnE1StateChange. Este ciclo se repete at que a aplicao indique para a VoicerLib que o nmero discado est correto, por meio do mtodo SendISDNCommand com o parmetro C_CALL_PROCEEDING. A seguir, a aplicao pode rotear a chamada para outra porta (independentemente se uma porta E1, FXS, FXO ou GSM). Quando esta porta estiver chamando, a aplicao deve avisar a VoicerLib que a chamada da porta cujo protocolo o ISDN PRI

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

107

Guia de Programao
Programao das Placas E1
est chamando, por meio do mtodo SendISDNCommand e o parmetro C_RING. Quando o nmero discado tiver atendido a chamada, a aplicao deve atender a porta com protocolo ISDN PRI usando o mtodo PickUp. Independentemente do modo de recebimento de chamadas configurado, algumas informaes extras podem ser recebidas pela VoicerLib, tais como uma mensagem de texto e a identificao do nmero de A (BINA). Algumas dessas informaes podem ser obtidas utilizando um mtodo especfico aps a indicao de um evento por parte da VoicerLib. OnCallerID: Indica o recebimento da identificao do nmero de A, que pode ser obtido pelo mtodo GetCallerId; OnNameID: Indica o recebimento do nome da identificao do nmero de A, que pode ser obtido pelo mtodo GetNameId; OnText: Indica o recebimento de uma mensagem de texto, que pode ser obtido pelo mtodo GetText; OnReverseCharging: Indica o pedido de inverso de cobrana da chamada (chamada cobrar);

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

108

Guia de Programao
Programao das Placas E1
Finalizando Chamadas A aplicao pode indicar o motivo do desligamento utilizando o mtodo SetHangUpCause e pode finalizar uma chamada utilizando o mtodo HangUp. Se isso acontecer, a VoicerLib envia um pedido de desligamento para o lado remoto. Quando a VoicerLib tiver a confirmao de que o desligamento foi aceito, ela reseta as informaes da chamada e confirma para a aplicao que a porta est livre por meio do evento OnE1StateChange com o parmetro C_E1_IDLE. Somente com esta confirmao que a aplicao pode tentar utilizar a porta indicada para uma nova chamada. Se em algum momento a chamada for desligada por outro agente diferente da aplicao, a VoicerLib envia o evento OnBusyDetected para a aplicao. Lembramos que este evento pode ocorrer inclusive durante o estabelecimento e o recebimento de chamadas. Ao receber esse evento, a aplicao pode obter a causa do desligamento por meio do mtodo GetBusyCause. A seguir, a aplicao deve desligar a chamada pelo mtodo HangUp. Quando a porta estiver livre e pronta para novas chamadas, a VoicerLib indica isso para a aplicao por meio do evento OnE1StateChange com o parmetro C_E1_IDLE.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

109

Guia de Programao
Programao das Placas E1 Protocolo R2D MFC
Inicializao Protocolo R2D MFC

Para efetuar ou receber chamadas, a VoicerLib j traz embutida uma thread que executa o protocolo RD2 MFC 5C, a qual permite interagir com as centrais pblicas, PABX com troncos E1, etc... Aps iniciar o driver atravs do mtodo StartVoicerLib , necessrio iniciar uma thread individual para cada porta. Esta thread inicia internamente todo o tratamento de troca de sinalizao com a "outra ponta" da ligao. Para iniciar esta thread, utilizado o mtodo CreateE1Thread, passando como parmetro a porta desejada. Ao iniciar a thread, a porta automaticamente colocada como Livre. Tambm necessrio configurar corretamente as opes de sincronismo e modo de operao das placas E1. recomendado utilizar o VBoxConfig (configurador da placa E1 que instalado com a voicerlib) para configurar todas estas opes.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

110

Guia de Programao
Programao das Placas E1
Efetuando Chamadas Sempre que for efetuar ligaes em troncos E1 R2D MFC, necessrio que a porta do E1 tenha capacidade de enviar dados como sua identificao, categoria de assinante (grupo II), etc... A identificao de A da porta (BINA a ser fornecido ao outro terminal) configurada atravs do mtodo SetPortId passando como parmetro a porta e uma string com o nmero desejado (ex. setportid(porta,"1121916363")). Cada porta tem uma identificao prpria na VoicerLib. Todas os parmetros de configurao relacionados ao protocolo R2D MFC so configurados, sempre aps chamar o mtodo CreateE1Thread (incio da thread), atravs do mtodo ConfigE1Thread . O primeiro parmetro a porta, o segundo indica o dado a configurar e o terceiro o valor deste dado. O dado a configurar indicado pelas constantes mostradas abaixo:

- E1CFG_MAXDIGITS_RX - Nmero mximo de dgitos a receber


- E1CFG_SEND_ID_AFTERDIGIT - Envio de solicitao de identificao aps o dgito n - E1CFG_GROUP_B - Grupo B - E1CFG_GROUP_II - Categoria do Assinante obrigatrio chamar o mtodo ConfigE1Thread aps a chamada do CreateE1Thread.

Estando as informaes sobre a porta corretamente configuradas, efetuar uma ligao. Para ocupao utilize o mtodo Pickup. Logo que vier a confirmao de ocupao, indicando que a porta est livre para discar, ser gerado o evento OnDialToneDetected. No protocolo R2D MFC, no gerado um tom de discagem como se conhece na telefonia convencional mas o evento de tom de discagem gerado para compatibilizar as aplicaes e informar ao programa a hora certa de iniciar a discagem.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

111

Guia de Programao
Programao das Placas E1
No evento OnDialToneDetected, necessrio chamar o mtodo Dial indicando o nmero a discar. O primeiro parmetro do mtodo a porta, o segundo indica o nmero e o terceiro, que seria a pausa aps a discagem, desprezado no caso de discagens com a thread R2D MFC criada. A partir da, ocorre toda uma troca de sinalizao entre os terminais. Essa troca de sinalizao pode ser monitorada atravs do evento OnE1StateChange. Este evento passa para a aplicao o estado da chamada na varivel Status, que pode ter os seguintes valores: - C_GRUPO_B - Solicita grupo B para aplicao - C_NOTCOMPLETED - Ligao no completada - C_B_ENDCALL - Assinante B desligou - C_ANSWERED - Assinante B atendeu ou retornou depois de C_B_ENDCALL - C_CONGESTION - Congestionamento - C_SEIZURE - Ocupao - C_GROUP_II - Grupo II recebido - C_NUMBER_RECEIVED - Nmero recebido durante ligao entrante - C_UNAVAILABLE - Porta no disponvel - C_GROUP_I - Recebeu grupo I - C_ID_RECEIVED - Recebeu identificao de assinante A - C_E1_IDLE - Porta R2 foi para o estado LIVRE - C_E1_SEIZURE_ACK - Porta R2 recebeu confirmao de ocupao - C_SEND_GROUP_B - Recebeu grupo B da aplicao - C_SEND_BACKWARD_SIGNAL - Recebeu comando de envio de sinal "para trs" da aplicao

Mais uma vez simulando uma ligao analgica convencional, a VoicerLib gerar os seguintes eventos a partir da discagem: - OnAfterDial - Trmino da discagem - OnBusyDetected - Linha ocupada, porta bloqueada ou timeout de atendimento - OnAnswerDetected - Destino atendeu

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

112

Guia de Programao
Programao das Placas E1
- OnCalling - Ligao chamando. Este evento gerado a cada 5 segundos. Repare que estes eventos podero ocorrer em situaes iguais s indicadas pelos Status de OnE1StateChange. Por exemplo, o evento OnBusyDetected tambm ocorrer quando for detectado uma situao de porta no disponvel (C_UNAVAILABLE). A qualquer momento durante a chamada, possvel chamar o mtodo HangUp para finaliz-la. Quando se faz ligaes com as placas analgicas, no h como perceber se o assinante B desligou j que o telefone fica mudo at que passe os 90 segundos e venha o tom de ocupado da central pblica. Na placa E1 possvel saber quando o assinante B desligou, basta monitorar o status C_B_ENDCALL dentro do evento OnE1StateChange. Isso muito til em discadores que reproduzem mensagens automticas, por exemplo. Caso o assinante B retorne ligao, gerado o evento OnE1StateChange com valor C_ANSWERED. Este evento tambm acontece quando ocorre o primeiro atendimento.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

113

Guia de Programao
Programao das Placas E1
Recebendo Chamadas O recebimento de chamadas atravs de uma porta digital tambm facilmente manipulado a partir da chamada do mtodo CreateE1Thread. Para ligaes entrantes necessrio chamar o mtodo ConfigE1Thread para configurar: - E1CFG_MAXDIGITS_RX - Nmero mximo de dgitos a receber - E1CFG_SEND_ID_AFTERDIGIT - Envio de solicitao de identificao aps o dgito n (Valor 0 no pede ID) - E1CFG_GROUP_B - Grupo B - E1CFG_GROUP_II - Categoria do Assinante O E1CFG_MAXDIGITS_RX deve ser informado porque o protocolo R2D exige a quantidade de dgitos que devero ser detectados. J o E1CFG_SEND_ID_AFTERDIGIT indicar para a thread R2D MFC o momento da solicitao da identificao do chamador. O Grupo B e o Grupo II variam conforme a aplicao e vem com valor padro 1. Durante o recebimento de uma chamada, ocorre toda a troca de sinalizao de linha R2D e de registro MFC 5C, conforme explicado no comeo deste captulo. Vrios destes eventos podem ser monitorados atravs do evento OnE1StateChange. Para simplificar a deteco da chegada de uma ligao, a VoicerLib tambm gera um evento OnRingDetected logo aps da troca de sinalizao, permitindo que a aplicao atenda a chamada. O atendimento de uma ligao entrante se dar a partir da chamada do mtodo PickUp e sua finalizao atravs do mtodo HangUp. Caso o chamador desligue, ser gerado o evento OnBusyDetected para a aplicao. A identificao de chamadas (BINA) feita pelo mtodo GetCallerID. O evento OnCallerID sinaliza quando esta informao

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

114

Guia de Programao
Programao das Placas E1
j est disponvel.

Funes de Controle da Thread R2 Em algumas situaes pode ser necessrio parar a thread R2D MFC para efetuar algum controle manualmente. Para isso foram criados os mtodos EnableE1Thread e DisableE1Thread. Com eles possvel desabilitar a thread ou reabilit-la sem ter que destruila ou recri-la, pois so processos com maior consumo de processamento. Nos dois mtodos o nico parmetro a porta. Ao chamar o mtodo de criao da thread CreateE1Thread no necessrio habilit-la, pois ao criar, ela estar automticamente habilitada. O mtodo EnableE1Thread s til aps o uso de um DisableE1Thread Tambm possvel saber se a thread R2D MFC est habilitada ou no atravs do mtodo GetE1ThreadStatus . Este mtodo recebe a porta como parmetro e devolve os seguintes valores: DG_E1_THREAD_ENABLED (1) - Thread habilitada DG_E1_THREAD_DISABLED (0) - Thread desabilitada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

115

Guia de Programao
Programao das Placas E1
Depurando aplicativos para placas E1 com R2MFC Liberado aplicativo para monitorao remota de sinalizao R2MFC. Sistema Operacional: Windows Protocolo de Rede: UDP Para habilitar depurao, chame o mtodo EnableDebug na aplicao sendo desenvolvida. Para desabilitar depurao chame o mtodo DisableDebug na aplicao sendo desenvolvida. Obs. necessrio que a porta 623 UDP esteja habilitada no firewall do Windows.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

116

Guia de Programao
Funes Especiais

Funes Especiais
Introduo Funes Especiais
As funes especiais so destinadas a executar tarefas comuns em telefonia de maneira mais simples para o programador. Todas estas tarefas so plenamente realizveis atravs das funes primitivas (PickUp, Dial, etc), porm procuramos reunir as tarefas mais comuns em grupos especficos: Funes de Idle Atendimento Automtico, Bina, Integrao com PABX Funes de Prompt Entrada de dados com ou sem conferncia e confirmao (Senhas, etc...) Funes de Menu Reproduo de menu de opes com consistncia Funes de Discagem e Transferncia Discagem atravs de linha direta ou ramal, com opes para superviso de ocupado, etc... Os mtodos e eventos apresentados a seguir so sempre indexados pelo parmetro Port o que significa que as configuraes so totalmente independentes por porta.

Para o pleno entendimento destas novas funcionalidades muito importante estudar atentamente os exemplos fornecidos em Delphi7, Visual Basic 6 e VB.NET que encontram-se no site da DigiVoice www.digivoice.com.br, na seo de suporte.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

117

Guia de Programao
Funes Especiais Funes de Idle
As funes de Idle permitem ao programador simplificar os processos de espera de ligaes: Atendimento Automtico aps n toques Deteco de Identificao do Assinante A (Bina) atravs do evento OnCallerID Deteco de Dgitos aps o atendimento, facilitando integraes com diversos modelos de Pabx. As funes de Idle utilizam os mtodos: IdleSettings, IdleStart e IdleAbort (ou suas correspondentes dg_XXXX disponveis na API). Atendimento Automtico

IMPORTANTE: Os mtodos de IdleXXXX so exemplificados em um programa especfico encontrado no site da DigiVoice www.digivoice.com.br, na seo de suporte. Acompanhe e teste o exemplo. A VoicerLib permite ao programador, a partir de simples parmetros no mtodo IdleSettings, configurar um atendimento automtico a partir do ensimo toque e ainda esperar um tempo pr-definido antes de chamar o evento OnAfterPickup. Os parmetros do IdleSettings que interferem no funcionamento deste mtodo so o segundo, terceiro e quarto, sendo: - 2 Parmetro (AutoPickUp) Campo booleano (true/false) que indica se atende automtico ou no - 3 Parmetro (RingCount) Nmero de toques para o atendimento - 4 Parmetro (PauseAfterPickUp) Pausa aps o atendimento. Esta pausa pode ser utilizada para dar um tempo antes de iniciar a reproduo da mensagem de boas vindas, o que til em atendedores com bloqueio DDC (Chamada a cobrar).

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

118

Guia de Programao
Funes Especiais
Monitorao de Dgitos A monitorao de dgitos pode ser feita antes do atendimento, como nos casos de identificao de chamadas direto do tronco ou depois do atendimento, particularmente til em integrao do tipo inband com centrais PABX. Estas configuraes tambm so feitas a partir do mtodo IdleSettings do 5. ao ltimo parmetro: - 5 Parmetro (WatchTrunkBefore) Indica que deve ser acionada a monitorao de dgitos antes do Ring. Deve ser utilizado principalmente em casos de identificao de chamadas. - 6 Parmetro (WatchTrunkAfter) Indica que deve ser acionada a monitorao de dgitos depois do atendimento. - 7 Parmetro (Format) O formato indica como a espera de dgitos ser tratada: wtDTMF/wtMFP Deve ser utilizado somente com o WatchTrunkBefore ligado para tratamento de Bina DTMF (wtDTMF) ou Bina MFP (wtMFP).Neste caso ser gerado o evento OnCallerID contendo o nmero identificado. A deteco de BINA no formato FSK no depende do mtodo IdleSettings e sim do mtodo EnableFSKDetection. wtCustom Este formato traz os dgitos exatamente como foram detectados, sem nenhum tratamento. O resultado dado no evento OnDigitsReceived. Funciona praticamente igual a um GetDigits. - 8 Parmetro (TimeOut) o tempo mximo que o sistema esperar pelos dgitos a partir do primeiro detectado. Funciona como parmetro InterdigitTimeout do mtodo GetDigits e s tem utilidade quando o formato for wtCustom. - 9 Parmetro (Max) Indica qual o nmero mximo de dgitos que o sistema dever esperar. Se no for utilizado, deve ser setado como 0 (zero). - 10 Parmetro (TermDigits) Indica qual o dgito terminador. Deixar vazio se no for utilizado.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

119

Guia de Programao
Funes Especiais Funes de Prompt
As funes de Prompt, disponveis somente no ActiveX, facilitam os processos de entrada de dados e conferncia em uma aplicao de URA. Como exemplo de utilizao, observe a frase abaixo: "Digite sua senha ........ Voc digitou 123.... Tecle # para confirmar ou * para cancelar" "Disque o ramal desejado...."

Para que os dgitos sejam reproduzidos corretamente, voc dever configurar corretamente a propriedade StockSigsPath apontando para a pasta onde os arquivos wave padro esto armazenados. Esta pasta est localizada no diretrio de instalao da Voicerlib Basicamente as funes de prompt permitem reproduzir uma mensagem inicial (ou lista de mensagens), esperar por dgitos especficos (maxdigits, termdigits, etc...), reproduzir opcionalmente uma mensagem de conferncia com as informaes digitadas e ainda confirmar a digitao, permitindo a reentrada dos dados. Tudo isto pode ser feito atravs de parmetros passados aos mtodos PromptSettings e PromptStart. Exemplos destas funes encontram-se no site da DigiVoice www.digivoice.com.br, na seo de suporte, tanto em VB como em Delphi. Ao chamar o mtodo PromptStart a reproduo da mensagem iniciada e o fluxo de execuo segue normalmente, da maneira anloga ao mtodo PlayFile, por exemplo. Quando as condies forem cumpridas de acordo com o configurado, o evento OnPrompt ser acionado e receber a varivel Status contendo o que aconteceu na execuo da funo e o parmetro Value contendo o dado digitado pelo usurio. Os detalhes do significado e funcionalidade de cada parmetro deve ser consultado no Guia de Referncia deste manual.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

120

Guia de Programao
Funes Especiais Funes de Menu
As funes de menu, disponveis somente no ActiveX, automatizam o processo de atendimento com opes de menu. Ex.: "...Para vendas disque 3, expedio 4 ..." ".... Para saldo disque 1, para falar com o atendente 3..." O mtodo MenuErrorSettings configura as respostas s situaes de erro: frase de erro ("...Opo Invlida!..."), nmero de tentativas em caso de erro e frase para quando o usurio no discar nada. O mtodo MenuStart inicia a reproduo da frase de menu sendo passado como parmetro a frase de opes, os dgitos vlidos e o tempo mximo para digitao aps a frase. Tambm deve ser informado se o tipo da discagem (pulso ou tom) e se ser monitorada. Assim como o prompt, aps a chamada do mtodo MenuStart, o fluxo de execuo segue normalmente. Aps o usurio interagir com o menu, o evento OnMenu ser chamado, recebendo o Status e e a opo selecionada (OptionSelected). Para interromper a execuo do menu basta chamar o mtodo MenuAbort. Os detalhes do significado e funcionalidade de cada parmetro deve ser consultado no Guia de Referncia deste manual. Exemplos dessas funes so fornecidos no site da DigiVoice www.digivoice.com.br, na seo de suporte, tanto em VB quanto em Delphi.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

121

Guia de Programao
Funes Especiais Funes de Discagem e Transferncia
Os mtodos e eventos que compem esta funcionalidade automatizam todo o processo de discagem, transferncia, superviso e atendimento atravs da chamada de um nico mtodo (MakeCall).

Para acompanhar a explicao, observe atentamente o exemplo de Transferncia encontrado no site da DigiVoice www.digivoice.com.br na seo de suporte, tanto em VB quanto em Delphi. Com este grupo de mtodos ser possvel efetuar de maneira simples: - Discagem externa com superviso de atendimento, verificando se o destino atendeu ou no ou ainda se ocorreu ocupado. - Transferncia entre ramais de um pabx com ou sem superviso. - Frases automticas em caso de ocupado e no atender. Toda a configurao feita atravs dos mtodos SetCallxxxx. Voc pode programar um flash no incio da discagem atravs do mtodo SetCallStartFlash, til em casos de transferncia. Em termos de flash tambm possvel programar um flash especfico para retomada em caso de ocupado (SetCallBusyReturnFlash) e outro em caso de no atendimento (SetCallNoAnswerReturnFlash). Em todos os casos possvel definir dgitos e pausa aps o flash e tambm a pausa aps dgito que so suficientes para adaptao em qualquer central PABX. O tempo de flash uma configurao geral para todos os casos e definida pelo mtodo SetCallFlashTime. possvel definir frases a serem reproduzidas quando se detecta o ocupado (SetCallBusyPhrase) ou quando no atende (SetCallNoAnswerPhrase). O sistema utiliza o mtodo SetCallNoAnswerRingCount para determinar com quantos toques ser considerado um "no atendimento".

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

122

Guia de Programao
Funes Especiais
Em caso de atendimento possvel programar uma pausa e uma frase a ser reproduzida para o usurio. Isto feito pelo mtodo SetCallAfterAnswer. O incio da discagem feito atravs da chamada ao mtodo MakeCall, onde so definidos o tipo de discagem (externa ou com flash), a frase a ser reproduzida inicialmente, o nmero que ser discado e se a discagem ser feita com ou sem superviso. Se for feita sem superviso, to logo o nmero discado a execuo do mtodo finalizada e o evento OnAfterMakeCall chamado. O tipo de discagem define uma srie de comportamentos importantes: Externa Inicia a discagem com um pickup, pois entende que o telefone est desligado. Utiliza as definies de dgito e pausa aps o pickup definidos pelo mtodo SetCallAfterPickUp. Com Flash Executa um flash antes de iniciar a discagem, pois entende que a linha est conectada a um PABX e o que vai ser feito uma transferncia entre ramais. Alm das configuraes anteriores, possvel determinar se o tom de discagem ser esperado obrigatoriamente (SetCallWaitForDialTone) e o tempo que a superviso ser iniciada aps a discagem (SetCallPauseBeforeAnalysis). Este ltimo til em supervises de transferncia para casos onde o PABX gera rudos durante o flash que podem induzir a placa a detees erradas de atendimento. Definindo um tempo com este mtodo a superviso s iniciar a 'n' milisegundos aps a discagem, o que permitir ignorar estes rudos. Assim como todos os outros mtodos da VoicerLib, o MakeCall assncrono, ou seja, ao ser executado inicia o processo todo mas o fluxo de execuo do programa continua. IMPORTANTE: O MakeCall no pode ser chamado com o mtodo IdleStart ativo. Caso isso ocorra, retornar erro cdigo 1. A qualquer momento possvel saber se um MakeCall est em curso atravs da monitorao do evento OnCallStateChange.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

123

Guia de Programao
Funes Especiais
Por fim, o evento OnAfterMakeCall chamado informando o tipo de ocorrncia detectada durante o processo (ocupado, atendimento, etc...) atravs dos seguintes valores assumidos na varivel Status: - mkOK - Discou com sucesso - mkNoDialTone Sem tom de discagem - mkDelivered Ligao entregue sem superviso - mkNoAnswer Ligao no foi atendida - mkBusy Ligao ocupada - mkAnswered - Ligao atendida - mkAborted Ligao cancelada pelo AbortCall - mkDialToneAfterDial - Indica recebimento de tom de linha depois da discagem. Normalmente esta situao indica algum problema com o ambiente (PABX, linha, etc...) - mkFaxDetected - Indica deteco de fax

(*) No caso de receber um mkNoDialTone depois de efetuar o flash para transferncia no PABX, voc deve retomar a ligao antes de deslig-la para evitar de prender a linha no PABX. Uma situao de no receber tom de discagem para transferncia entre ramais s pode ocorrer se as configuraes de flash estiverem erradas ou no caso de sobrecarga de processamento do PABX (ocorre principalmente em discadores automticos).

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

124

Guia de Programao
Funes Especiais Reproduzindo Data
A VoicerLib permite ao programador implementar sistemas que reproduzam datas atravs do mtodo PlayDate. Veja o exemplo: voicerlib.PlayDate Porta, Date, "d/m/y", "#", 0 O primeiro parmetro faz referncia a porta da placa. O segundo parmetro uma string contendo a data a ser reproduzida ( possvel utilizar uma varivel aqui ou mesmo no mtodo Date, que retorna a data corrente). . O terceiro parmetro a mscara de formatao da data. Esta mscara determina como a data ser falada. Pode assumir os seguintes valores: d/m/y Ex.: "25 de setembro de 2001" d/m Ex.: "25 de setembro" m/d Ex.: "Setembro 25" m/d/y Ex.: "Setembro 25 2001" O quarto parmetro o TermDigits, que indica quais dgitos podem interromper a mensagem. O ltimo parmetro uma pausa a ser respeitada antes da reproduo da mensagem, expressa em milisegundos, ou seja, caso queira esperar 1 segundo utilize o valor 1000. Mesmo utilizando a pausa, o mtodo possui retorno imediato aps sua execuo. Qualquer tratamento de seu resultado dever ser feito no evento OnPlayStop ou OnDigitsReceived. As frases-padro utilizadas para reproduzir esta mensagem encontram-se na pasta \%PROGRAM FILES%\VoicerLib4\StockSigs. Os arquivos contidos nesta pasta devero ser distribudos junto da aplicao desenvolvida.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

125

Guia de Programao
Funes Especiais Reproduzindo Nmeros Cardinais
A VoicerLib permite ao programador implementar sistemas que reproduzam nmeros inteiros ou fracionrios por extenso (ex.:Dez vrgula trinta e cinco) atravs do mtodo PlayCardinal. Veja o exemplo: voicerlib.PlayCardinal Porta, "10,35", "#", 0

O primeiro parmetro refere-se a porta da placa. O segundo parmetro uma string contendo o nmero a ser reproduzido ( possvel utilizar uma varivel aqui, claro).

necessrio passar o valor formatado de acordo com o mostrado anteriormente, sem pontos separadores nos milhares e com vrgula como separador decimal (nnnnnnn,nn). Qualquer coisa diferente disso far com que o mtodo no reproduza o valor corretamente. O terceiro parmetro o TermDigits, que indica quais dgitos podem interromper a mensagem. O ltimo parmetro uma pausa a ser respeitada antes da reproduo da mensagem, expressa em milisegundos, ou seja, caso queira esperar 1 segundo utilize o valor 1000. Mesmo utilizando a pausa, o mtodo possui retorno imediato aps sua execuo. Qualquer tratamento de seu resultado dever ser feito no evento OnPlayStop ou OnDigitsReceived. As frases-padro utilizadas para reproduzir esta mensagem encontram-se na pasta \%PROGRAM FILES%\VoicerLib4\StockSigs. Os arquivos contidos nesta pasta devero ser distribudos junto da aplicao desenvolvida.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

126

Guia de Programao
Funes Especiais Reproduzindo Nmeros Dgito a Dgito
A VoicerLib permite ao programador implementar sistemas que reproduzam nmeros atravs do mtodo PlayNumber. Com isso possvel "soletrar" os dgitos de um dado qualquer (conta, carto, etc...). Tambm permite falar "/" barra, "-" trao, "." ponto, "," vrgula. Veja o exemplo: voicerlib.PlayNumber, "456790-23", "#", 0 O primeiro parmetro refere-se a porta da placa. O segundo parmetro uma string contendo o nmero a ser reproduzido ( possvel utilizar uma varivel aqui, claro). O terceiro parmetro o TermDigits, que indica quais dgitos podem interromper a mensagem. O ltimo parmetro uma pausa a ser respeitada antes da reproduo da mensagem, expressa em milisegundos, ou seja, caso queira esperar 1 segundo utilize o valor 1000. Mesmo utilizando a pausa, o mtodo possui retorno imediato aps sua execuo. Qualquer tratamento de seu resultado dever ser feito no evento OnPlayStop ou OnDigitsReceived. As frases-padro utilizadas para reproduzir esta mensagem encontram-se na pasta \%PROGRAM FILES%\VoicerLib4\StockSigs. Os arquivos contidos nesta pasta devero ser distribudos junto da aplicao desenvolvida.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

127

Guia de Programao
Funes Especiais Reproduzindo Valores por Extenso
A VoicerLib permite ao programador implementar sistemas que falem valores monetrios por extenso (ex.: Um mil e quinhentos reais e trinta e dois centavos) atravs do mtodo PlayCurrency. Veja o exemplo: voicerlib.PlayCurrency Porta, "1234,33", "#", 0

O primeiro parmetro refere-se a porta da placa. O segundo parmetro uma string contendo o valor a ser reproduzido ( possvel utilizar uma varivel aqui, claro). necessrio passar o valor formatado de acordo com o mostrado anteriormente, sem pontos separadores nos milhares e com vrgula como separador dcimal (nnnnnnn,nn). Qualquer coisa diferente disso far com que o mtodo no reproduza o valor corretamente. O terceiro parmetro o TermDigits, que indica quais dgitos podem interromper a mensagem. O ltimo parmetro uma pausa a ser respeitada antes da reproduo da mensagem, expressa em milisegundos, ou seja, caso queira esperar 1 segundo utilize o valor 1000. Mesmo utilizando a pausa, o mtodo possui retorno imediato aps sua execuo. Qualquer tratamento de seu resultado dever ser feito no evento OnPlayStop ou OnDigitsReceived.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

128

Guia de Programao
Funes Especiais Reproduzindo Lista de Mensagens
Uma das mais importantes caractersticas da VoicerLib a possibilidade de montar uma lista de mensagens que sero reproduzidas como se fossem uma s, gerando apenas um evento OnPlayStart no incio e um OnPlayStop no final de todas. Com isso o programador poder montar frases ou sequncias de mensagens de maneira muito simples. A lista de mensagens permite que sejam inseridas mensagens baseadas em arquivos, data, hora, valor ou nmero cardinal. Vamos usar como exemplo a seguinte frase: "Ol, hoje dia 25 de setembro de 2010 s 12:32:45". Temos 4 partes distintas nesta frase: 1 - "Bom Dia, hoje dia " Arquivo pr-gravado do usurio. Verificar formato correto de gravao. 2 - "25 de setembro de 2020" Data do Sistema (PlayDate) 3 - "s" Arquivo pr-gravado do usurio 4 - "12:32:45" Hora do Sistema (PlayTime) Adicionando Mensagens a Lista Para adicionar uma ou mais mensagens a uma lista, utilize o mtodo PlayListAdd que tem o seguinte formato: PlayListAdd Porta, Tipo, String, Mscara, PausaAntes O parmetro Porta referente a porta a ser utilizada. A VoicerLib permite manter uma lista independente por porta. O parmetro Tipo indica que tipo de mensagem ser reproduzida. Pode assumir os seguintes valores (representados por constantes):

- ptCardinal Reproduzir um nmero cardinal (Semelhante ao


mtodo PlayCardinal)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

129

Guia de Programao
Funes Especiais
- ptFile Reproduzir um arquivo de udio nos formatos disponveis na voicerlib (Semelhante ao mtodo PlayFile) - ptDate Reproduzir uma data (Semelhante ao mtodo PlayDate) - ptTime Reproduzir hora (Semelhante ao mtodo PlayTime) - ptCurrency Reproduzir um valor monetrio (Semelhante ao mtodo PlayCurrency) - ptNumber Reproduz nmeros dgito a dgito (Semelhante ao mtodo PlayNumber) O terceiro parmetro (String) deve assumir a formatao exigida pelos tipos anteriores, ou seja se for indicado que do tipo ptFile, este parmetro deve receber uma string com o nome do arquivo a ser reproduzido. Para saber os formatos corretos para cada tipo, consulte os mtodos independentes relacionados (PlayTime, PlayDate, etc...) no comeo desta seo. A Mscara (4 parmetro) relacionada apenas ao tipo ptDate e segue a mesma padronizao indicada no mtodo PlayDate explicado anteriormente. O ltimo parmetro uma pausa a ser respeitada antes da reproduo da mensagem, expressa em milisegundos, ou seja, caso queira esperar 1 segundo utilize o valor 1000. Cada mensagem da lista pode ter um valor diferente, ou seja, possvel dar pausas diferenciadas entre cada item da lista na hora da reproduo. Seguindo o exemplo de frase do comeo desta seo, teramos a seguinte codificao: voicerlib.PlayListAdd voicerlib.PlayListAdd voicerlib.PlayListAdd voicerlib.PlayListAdd Port, Port, Port, Port, ptFile, ptDate, ptFile, ptTime, "Principal.wav","",0 Date, "d/m/y", 0 "as.wav", "", 0 Time, "", 0

Apagando o contedo de uma lista A lista de mensagens permanece com seu contedo mesmo depois da reproduo, portanto, necessrio apagar seu contedo antes de adicionar novos valores. Para isso deve ser utilizado o mtodo PlayListClear passando como parmetro a porta da placa:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

130

Guia de Programao
Funes Especiais
'Apaga a lista antes de us-la voicerlib.PlayListClear Port voicerlib.PlayListAdd Port, ptFile, "frase_boasvindas.wav","",0 () Verificando o tamanho da lista Para saber quantos elementos existem dentro da lista, utilize o mtodo PlayListGetCount, onde o nico parmetro a porta e o valor de retorno a quantidade de elementos. Dim i as integer i = voicerlib.PlayListGetCount(Port) Removendo um tem especfico da lista Tambm possvel remover um determinado elemento da lista atravs do mtodo PlayListRemoveItem. Este mtodo tem dois parmetros: a porta e o ndice do item a ser excludo (0 at n-1). 'Remove o primeiro elemento da lista voicerlib.PlayListRemoveItem(Port,0) Reproduzindo a lista de mensagens Aps inserir os elementos da lista possvel reproduzi-la atravs do mtodo PlayList, que tem o seguinte formato: voicerlib.PlayList Port,TermDigits O primeiro parmetro indica a porta da placa. Lembre-se que cada porta tem uma lista independente. O parmetro TermDigits uma string que permite configurar quais dgitos podero interromper a mensagem, exatamente como funciona nos outros mtodos Playxxx. O mtodo PlayList tambm assncrono, ou seja, ao executar o comando o fluxo de execuo do aplicativo segue imediatamente.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

131

Guia de Programao
Funes Especiais
O final da reproduo dever ser monitorado atravs do evento OnPlayStop. O mtodo PlayList, apesar de reproduzir vrias mensagens encadeadas, funciona da mesma forma que o PlayFile, ou seja, gera apenas um OnPlayStart no incio e um OnPlayStop no final do ltimo item. Caso o parmetro TermDigits seja utilizado e a lista de mensagens seja interrrompida por dgito, toda a lista ser interrompida e sero gerados os eventos OnPlayStop e OnDigitsReceived, sendo que este ltimo receber o valor edDigitOverMessage na varivel Status. Na dvida, leia novamente a explicao sobre o mtodo PlayFile. Tudo o que se refere a TermDigits aplica-se ao PlayList tambm.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

132

Guia de Programao
Distribuindo uma Aplicao

Distribuindo uma Aplicao


Visando facilitar a distribuio de todos os arquivos necessrios para a execuo de uma aplicao construda utilizando a VoicerLib, as placas adquiridas sempre so acompanhadas de um software chamado VoicerLib. A melhor forma de distribuir uma aplicao desenvolvida com a Voicerlib, fazendo uso da biblioteca que acompanha a placa, instalando-a na mquina de destino. O procedimento de instalao, tanto fsico como de software abordado pelo Manual do Kit Integrador (disponvel no diretrio de instalao ou no site da digivoice www.digivoice.com.br). Com a VoicerLib instalada, no necessrio mais nenhum arquivo adicional para que uma aplicao funcione. Obviamente os requisitos de cada linguagem de programao deve ser atendidos pelo desenvolvedor (runtimes, dlls, etc...).

As verses mais atualizadas sempre estaro disponveis no site da DigiVoice www.digivoice.com.br.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

133

Guia de Referncia
Mensagens de Erro

Mensagens de Erro
Todos os mtodos e funes retornam valores indicando sucesso ou problema na sua execuo. Nos mtodos e nas funes so indicados os nomes das constantes que representam estes cdigos e abaixo so enumerados as constantes com seus respectivos valores, em hexadecima e decimal.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

134

Guia de Referncia
Mensagens de Erro
Constante DG_EXIT_SUCCESS Hexa Decimal Descrio 0 0 1024 Executado com sucesso Falha de alocao de memria. Pode ser por falta de memria, mas tambm por erro no device driver, direitos de usurio (Linux), etc. Falha na recuperao do nmero de placas instaladas Arquivo de firmware no foi encontrado. Pode ser causado por problemas de instalao ou no caso de uso com ActiveX a propriedade ConfigPath pode estar com valores errados Erro na carga do firmware. Pode ser causado por slot defeituoso. Contate a assistncia tcnica da Digivoice Falha na leitura do nmero de portas por placa. Pode ser causado por falha de hardware ou erro durante a instalao Erro na carga do device driver. As mensagens de debug podem esclarecer a causa Erro na instalao de eventos de controle da VoicerLib. S pode ser causado por falta de memria O mtodo foi chamado sem que a Voicerlib fosse iniciada

DG_ERROR_MEMORY_ALLOCA 400h TION

DG_ERROR_MAXCARDS

401h

1025

DG_ERROR_FIRMWARE_NOT_ 402h FOUND

1026

DG_ERROR_FIRMWARE_IO_TI 403h MEOUT

1027

DG_ERROR_READING_PORTC 404h OUNT

1028

DG_ERROR_LOADING_DEVIC EDRIVER

405h

1029

DG_ERROR_CREATING_EVENT 406h

1030

DG_ERROR_DRIVER_CLOSED

450h

1104

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

135

Guia de Referncia
Mensagens de Erro
Constante Hexa Decimal Descrio 1105 Parmetro placa foi passado com valor maior do que o nmero de placas instaladas Parmetro porta passado com valor maior que o nmero total de portas instaladas (somadas todas as placas). Um dos parmetros do mtodo foi passado fora do intervalo especificado. Consulte a referncia do mtodo. Pode ocorrer se o StartVoicerLib for chamado duas vezes seguidas O arquivo de configurao passado por parmetro no foi encontrado. No necessrio passar o caminho completo do arquivo. Este mtodo no suportado pela placa utilizada. Normalmente associado mtodos de chat, este erro ocorre quando existem "salas" disponveis, porm no foi possvel aloc-las por falta de memria Normalmente associada mtodos de chat, este erro ocorre quando no existem mais "salas" disponveis. Foi passado um parmetro com valor invlido.

DG_ERROR_CARD_OUT_OF_R 451h ANGE

DG_ERROR_PORT_OUT_OF_R 452h ANGE

1106

DG_ERROR_PARAM_OUTOFRA 453h NGE

1107

DG_ERROR_DRIVER_ALREADY 454h _OPEN

1108

DG_ERROR_CONFIGFILE_NOT 455h _FOUND

1109

DG_FEATURE_NOT_SUPPORTE 456h D DG_ERROR_RESOURCE_UNAV 457h AILABLE

1110

1111

DG_ERROR_RESOURCE_FULL

458h

1112

DG_ERROR_INVALIDPARAM

459h

1113

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

136

Guia de Referncia
Mensagens de Erro
Constante DG_ERROR_AUTO_SIGNALIN G_ON Hexa Decimal Descrio 45ah 1114 No protocolo ISDN PRI, a sinalizao est no modo automtico e este comando no aceita esta configurao No protocolo ISDN PRI, a sinalizao est no modo manual e este comando no aceita esta configurao No protocolo ISDN PRI, a porta j est sendo usada por outra chamada No protocolo ISDN PRI, a porta precisa estar atendida O arquivo de configurao est em um formato obsoleto Falha na inicializao interna das threads de controle. Este erro normalmente causado por falta de memria livre Este erro ocorre quando se tenta chamar um mtodo de manipulao de threads de controle sem que o mesmo tenha sido iniciado (ex. chamada do EnableCallProgress sem ter chamado CreateCallProgress) Fifo de comunicao entre threads no est disponvel. Falta de memria pode ser a causa mais comum

DG_ERROR_AUTO_SIGNALINF 45bh _OFF

1115

DG_ERROR_PORT_ALREADY_I 45ch N_USE DG_ERROR_PORT_IS_NOT_IN 45dh _USE DG_WARNING_OLDFILEFORM 460h AT DG_ERROR_COULD_NOT_CRE 500h ATE_THREAD

1116

1117

1120

1280

DG_ERROR_THREAD_NOT_RU 501h NNING

1281

DG_ERROR_FIFO_UNAVAILAB 502h LE

1282

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

137

Guia de Referncia
Mensagens de Erro
Constante DG_ERROR_THREAD_ALREAD Y_RUNNING Hexa Decimal Descrio 503h 1283 Este erro causado caso se chame um mtodo de criao de Callprogress, ThreadE1, etc... mais de uma vez 1284 A thread ISDN PRI est habilitada. Para configurar necessrio desabilitar a thread ISDN PRI (DisableISDNThread), configur-la e depois habilit-la novamente (EnableISDNThread) 1285 A thread ISDN PRI est desabilitada e para este comando ela precisa estar habilitada 1360 Tentativa de interromper a reproduo sendo que no h nenhuma em curso 1361 Tentativa de iniciar uma reproduo quando j existe uma em curso 1362 No foi possvel localizar ou abrir um arquivo para reproduo 1363 Tentativa de reproduo de lista de mensagens atravs do PlayList, MenuStart ou PromptStart sem haver uma lista criada

DG_ERROR_THREAD_ENABLE D

504h

DG_ERROR_THREAD_DISABLE 505h D

DG_ERROR_NOT_PLAYING

550h

DG_ERROR_ALREADY_PLAYIN 551h G DG_ERROR_PLAY_OPENFILE 552h

DG_ERROR_PLAY_EMPTYLIST

553h

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

138

Guia de Referncia
Mensagens de Erro
Constante Hexa Decimal Descrio 1364 1365 1366 Formato de udio no suportado pela placa Nome de arquivo invlido Buffer de reproduo via streaming cheio, significando que as amostras de udio esto sendo enviadas em uma taxa maior do que a VoicerLib pode enviar ao hardware Foi chamado o comando StopRecordFile enquanto uma gravao estava sendo finalizada Erro na criao do arquivo de gravao J existe uma gravao em curso Chamada do StopRecordFile quando no h gravao em curso Falha genrica, no especificada pelos cdigos abaixo Erro ao abrir o arquivo de origem da converso Erro ao abrir o arquivo de destino da converso Erro indeterminado na converso de arquivos

DG_ERROR_AUDIO_FORMAT_ 554h UNSUPPORTED DG_ERROR_PLAY_INVALID_FI 555h LENAME DG_ERROR_PLAY_BUFFER_FU 556h LL

DG_ERROR_REC_STOPPING

660h

1536

DG_ERROR_REC_OPENFILE

661h

1537 1538 1539

DG_ERROR_REC_ALREADY_R 662h ECORDING DG_ERROR_REC_NOT_RECOR 663h DING

DG_EXIT_FAILURE

700h

1792

DG_ERROR_CONV_SOURCE DG_ERROR_CONV_TARGET DG_ERROR_CONV

701h 702h 703h

1793 1794 1795

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

139

Guia de Referncia
Funes/Mtodos

Funes/Mtodos
No Guia de Referncia so apresentadas todas as funes disponiveis na API (DLL e Shared Object) como os mtodos disponveis no ActiveX para Windows. Algumas funes esto disponveis somente para o ActiveX e outras somente na API. Tambm h alguma diferenciao quanto placa que suporta determinada funo. Os cones no incio de cada tpico indicam este nvel de compatibilidade.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

140

Guia de Referncia
Funes/Mtodos AbortCall

Cancela a discagem automtica feita pelo mtodo MakeCall. Declaraes: ActiveX: SHORT AbortCall(SHORT Port); Descrio: Durante o processo de discagem automtica, iniciado pelo mtodo MakeCall, possvel cancelar a discagem atravs da chamada deste mtodo. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso

DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

141

Guia de Referncia
Funes/Mtodos AudioMonitor (dg_AudioMonitor)

Monitora em tempo real o udio de uma porta especfica na sada de udio do PC. Declaraes: ActiveX: SHORT AudioMonitor(SHORT Port, SHORT Enable); API: short dg_AudioMonitor(short port, short enable); Descrio: Este mtodo foi desenvolvido para permitir que se escute um canal de uma placa DigiVoice atravs do udio do PC. S possvel a monitorao de um canal por vez. necessrio que a thread de InputBuffer (EnableInputBuffer) esteja ativada para este canal. Parmetros: Port Indica a porta da placa Enable - Habilita (DG_ENABLE) ou desabilita (DG_DISABLE) a monitorao. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido (Enable) DG_ERROR_RESOURCE_UNAVAILABLE - Erro ao criar ou destruir

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

142

Guia de Referncia
Funes/Mtodos
os controles de udio, verique a porta.

CancelGetDigits (dg_CancelGetDigits)

Cancela a deteco de dgitos iniciada pelo GetDigits. Declaraes: ActiveX: SHORT CancelGetDigits(SHORT Port); API: short dg_CancelGetDigits(short port); Descrio: Quando o processo de recepo de dgitos acionado pelo mtodo GetDigits iniciado, a VoicerLib entra em um tratamento interno que pode durar o tempo dos timeouts definidos no GetDigits. conveniente, caso a ligao seja encerrada em uma determinada porta enquanto o GetDigits esteja sendo executado, cancelar esta recepo chamando o CancelGetDigits. Parmetros: Port Indica a porta da placa no qual ser cancelado o GetDigits Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instalados

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

143

Guia de Referncia
Funes/Mtodos ChatAddPort (dg_ChatAddPort)

Adiciona porta a determinada sala de conferncia. Declaraes: ActiveX: SHORT ChatAddPort(LONG Handle, SHORT Port); API: short dg_ChatAddPort(long Handle, short Port); Descrio: Este mtodo permite adicionar determinada porta sala de conferncia especificada por Handle. Para que a porta possa falar e ouvir na conferncia necessrio tambm habilit-la usando ChatEnablePort. Parmetros: Handle - Obtido como retorno do mtodo CreateChatRoom Port - Porta fsica da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_RESOURCE_FULL - Sala cheia DG_ERROR_RESOURCE_UNAVAILABLE - Sala no disponvel ou no criada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

144

Guia de Referncia
Funes/Mtodos ChatDisablePort (dg_ChatDisablePort)

Desabilita porta alocada em um recurso de conferncia. Declaraes: ActiveX: SHORT ChatDisablePort(LONG Handle, SHORT Port); API: short dg_ChatDisablePort(long Handle, short Port); Descrio: Este mtodo desabilita a porta da sala mas sem remov-la. Isto particularmente til para que determinada porta possa interagir com o sistema (por exemplo, ouvindo um menu) sem que as outras portas ouam. Ao desabilitar uma porta, ela reconectada no recurso de DSP. Parmetros: Handle - Obtido como retorno do mtodo CreateChatRoom Port - Porta fsica da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_RESOURCE_UNAVAILABLE - Sala no disponvel ou no criada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

145

Guia de Referncia
Funes/Mtodos ChatEnablePort (dg_ChatEnablePort)

Habilita porta alocada em um recurso de conferncia a conversar com as outras. Declaraes: ActiveX: SHORT ChatEnablePort(LONG Handle, SHORT Port, SHORT Direction); API: short dg_ChatEnablePort(long Handle, short Port, short Direction); Descrio: Mesmo que a porta esteja alocada em uma determinada conferncia necessrio que ela esteja habilitada para que possa se comunicar com as outras portas da mesma sala. O parmetro Direction define como esta porta se comportar, podendo s ouvir, s falar ou falar e ouvir na sala. Parmetros: Handle - Obtido como retorno do mtodo CreateChatRoom Port - Porta fsica da placa Direction - Define o modo de comportamento da porta na sala - CHAT_TALK - A porta s falar na sala - CHAT_LISTEN - A porta s escutar na sala - CHAT_TALK_LISTEN - A porta poder falar e ouvir na sala Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

146

Guia de Referncia
Funes/Mtodos
permitido (Direction) DG_ERROR_RESOURCE_UNAVAILABLE - Sala no disponvel ou no criada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

147

Guia de Referncia
Funes/Mtodos

ChatRemovePort (dg_ChatRemovePort)

Remove porta de determinada conferncia. Declaraes: ActiveX: SHORT ChatRemovePort(LONG Handle, SHORT Port); API: short dg_ChatRemovePort(long Handle, short Port); Descrio: Este mtodo desabilita e remove uma porta, de determinada sala de conferncia. Parmetros: Handle - Obtido como retorno do mtodo CreateChatRoom Port - Porta fsica da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_RESOURCE_UNAVAILABLE - Sala no disponvel ou no criada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

148

Guia de Referncia
Funes/Mtodos CheckCode (dg_CheckCode)

Compara a string de segurana da memria da placa com a string a ser gravada. Declaraes: ActiveX: SHORT CheckCode(SHORT wCard, SHORT *wData); API: SHORT dg_CheckCode(short wCard, short *wData); Parmetros: wCard - A placa que foi gravada wData - Dado gravado Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CARD_OUT_OF_RANGE - Parmetro placa foi passado com valor maior do que o nmero de placas instaladas. DG_EXIT_FAILURE - A string de segurana a ser gravada, difere da string atual da memria da placa.

Veja tambm: WriteCode

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

149

Guia de Referncia
Funes/Mtodos ClearDigits (dg_ClearDigits)

Apaga o contedo do buffer de dgitos de cada porta. Declaraes: ActiveX: SHORT ClearDigits(SHORT Port); API: short dg_ClearDigits(short port); Descrio: utilizado para apagar o buffer interno de dgitos detectados. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

150

Guia de Referncia
Funes/Mtodos ConnectAudioChannels (dg_ConnectAudioChannels)

Efetua uma conexo bi-direcional entre duas portas de qualquer placa. Declaraes: ActiveX: SHORT ConnectAudioChannels(SHORT Port1, SHORT Port2); API: short dg_ConnectAudioChannels(short port1,short port2); Descrio: Ao chamar este mtodo, o udio da porta Port1 conectado em Port2 e vice-versa, permitindo que o udio seja enviado nos dois sentidos. As portas podem pertencer qualquer placa instalada. Ao chamar este mtodo, os inputBuffer da port1 e da port2 sero habilitados automaticamente. Obs. Em caso de gravao devero ser gerados dois arquivos de gravao (Port1 e Port2) utilizando o mtodo RecordFile, que devero ser "mixados" com um editor de udio aps o trmino das mesmas. Parmetros: Port1 Indica a primeira porta Port2 Indica a segunda porta Valor de Retorno:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

151

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

ConfigCallProgress (dg_ConfigCallProgress)

Configura as opes de tratamento da thread para superviso de linha. Declaraes: ActiveX: SHORT ConfigCallProgress(SHORT Port, SHORT Cmd, LONG Value); API: short dg_ConfigCallProgress(short port, short command, int value); Descrio: Se na chamada ao CreateCallProgress no for indicado um arquivo de configurao, o mtodo ConfigCallProgress poder ser chamado para modificar qualquer um das configuraes de controle de superviso de linha. Na tabela a seguir mostrado os valores de Command e os limites de Value. A VoicerLib j fornece um arquivo de configurao chamado cp_default.cfg contendo as configuraes mais comuns. A utilizao do ConfigCallProgress indicada quando o desenvolvedor preferir manter seu prprio arquivo de configuraes.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

152

Guia de Referncia
Funes/Mtodos
Configuraes de Tempos de deteco

Command

Valor padro CPCFG_ANSWER_SENSITIVITY AnswerSensitivity refere-se a 1 quantos "udios" devero ser recebidos na sequncia para considerar atendimento CPCFG_ANSWER_SENSITIVITY_TI Tempo mnimo para que um 200 ME sinal de udio seja considerado atendimento. CPCFG_GENERICTONETIMEOUT GenericToneTimeout 15000 determina o tempo mximo que o sistema esperar para reconhecer o tom genrico CPCFG_GENERICTONETIME GenericToneTime determina o 500 tempo *mnimo* para que o sistema reconhea o udio como tom genrico CPCFG_LINETONETIMEOUT LineToneTimeout determina o 15000 tempo *mximo* que o sistema esperar para reconhecer o tom de linha CPCFG_LINETONETIME LineToneTime determina o 1000 tempo *mnimo* para que o sistema reconhea o udio como tom de linha CPCFG_FAXTONETIMEOUT FaxToneTimeout determina o 15000 tempo *mximo* que o sistema esperar para reconhecer o tom de fax CPCFG_FAXTONETIME FaxToneTime determina o 500 tempo *mnimo* para que o sistema reconhea o udio como tom de linha CPCFG_CALLPROGRESSTIMEOUT CallProgressTimeout o 1500 tempo de espera aps a discagem para se considerar que houve um atendimento por timeout

Descrio

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

153

Guia de Referncia
Funes/Mtodos
CPCFG_BUSYSENSIBILITY determina quantos tons de 1 ocupado devem ser detectados para que seja gerado um evento para a aplicao. Este parmetro aplicado somente no CP_ENABLE_BUSY_OR_FAX CPCFG_BUSYMINTIME BusyMinTime determina o 100 tempo mnimo do tom de ocupado CPCFG_BUSYMAXTIME BusyMaxTime determina o 500 tempo mximo do tom de ocupado CPCFG_CALLINGMINTONETIME Determina o tempo mnimo 600 para se considerar um tom de chamada (aps a discagem). Ser testado como intervalo junto com CallingMaxToneTime CPCFG_CALLINGMAXTONETIME Determina o tempo mximo 2000 para se considerar um tom de chamada (aps a discagem) CPCFG_CALLINGMINSILTIME O tempo mnimo para se 700 considerar silncio. Ser testado como intervalo junto com CallingMaxSilTime CPCFG_CALLINGMAXSILTIME Determina o tempo mximo 5000 para se considerar silncio CPCFG_TONEINTERRUPTIONMINTI Determina o tempo mnimo do 20 ME intervalo entre cada tom de linha. O deteco do tom de chamando depende tambm dos tempos do intervalo entre eles. CPCFG_TONEINTERRUPTIONMAXTI Determina o tempo mnimo do 380 ME intervalo entre cada tom de linha. O deteco do tom de chamando depende tambm dos tempos do intervalo entre eles. CPCFG_LINETONEMINTIME Determina o tempo mnimo 2500 para se considerar o tom de linha CPCFG_LINETONEMAXTIME Determina o tempo mximo 2700 para se considerar o tom de linha

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

154

Guia de Referncia
Funes/Mtodos
Configurao das frequncias Command CPCFG_LINEFREQ CPCFG_CALLINGFREQ CPCFG_BUSYFREQ CPCFG_GENERICFREQ Descrio Valor padro ndice da frequncia do tom de 22h linha ndice da frequncia 22h ndice da frequncia ndice da frequncia 22h 25h 26h 27h 28h 29h 20h 21h 23h 24h

CPCFG_GENERICFREQ2 ndice da frequncia CPCFG_GENERICFREQ3 ndice da frequncia CPCFG_GENERICFREQ4 ndice da frequncia CPCFG_GENERICFREQ5 ndice da frequncia CPCFG_SILENCE CPCFG_AUDIO CPCFG_FAX1 CPCFG_FAX2 ndice da frequncia ndice da frequncia ndice da frequncia ndice da frequncia

Na tabela de configuraes de frequncias no deve ser informado o valor da frequncia e sim o valor do ndice utilizado pela VoicerLib. Verifique no tpico Superviso de Linha no Guia do Programador. Parmetros: Port Indica a porta da placa que ser iniciado o controle Command - Indica qual a informao ser configurada de acordo com as constantes da tabela mostrada anteriomente Value - Valor do dado indicado por Command Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

155

Guia de Referncia
Funes/Mtodos
DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_THREAD_NOT_RUNNING - A thread no foi inicializada ainda DG_ERROR_PARAM_OUTOFRANGE - Parmetro Command ou Value fora do especificado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

156

Guia de Referncia
Funes/Mtodos ConfigCustomCAS (dg_ConfigCustomCAS)

Configura as opes de tratamento da thread CAS Declaraes: ActiveX: SHORT ConfigCustomCAS(SHORT Port, SHORT Param, SHORT ParamValue); API: short dg_ConfigCustomCAS(short port, short command, int value); Descrio: Sempre aps chamar o CreateCustomCAS sem utilizar um arquivo de configurao, necessrio configurar algumas informaes que indicar o comportamento da sinalizao R2D em relao ao ramal CAS. Na tabela abaixo mostrado os valores de Command e os limites de Value.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

157

Guia de Referncia
Funes/Mtodos
Command CASCFG_RING CASCFG_CALLER_HANGUP CASCFG_IDLE CASCFG_ANSWER Descrio Sinalizao de RING Sinalizao indicando que B desligou Sinalizao indicando porta livre Sinalizao indicando que o equipamento atendeu uma chamada Indicao que o fone foi "retirado do gancho" para discar Tempo de intervalo entre um PickUp e um Hangup Comando para desligar Comando de primeiro flash Pausa aps o primeiro flash Comando do segundo flash Pausa aps o segundo flash

CASCFG_PICKUP

CASCFG_DROP_DELAY_BEFORE CASCFG_DROP CASCFG_FLASH1_CMD CASCFG_FLASH1_DELAY CASCFG_FLASH1_CMD CASCFG_FLASH2_DELAY

Parmetros: Port Porta que ser iniciado o controle Command - Indica qual a informao ser configurada de acordo com as constantes da tabela mostrada anteriormente Value - Valor do dado indicado por Command Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_THREAD_NOT_RUNNING - A thread E1 no foi

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

158

Guia de Referncia
Funes/Mtodos
inicializada ainda DG_ERROR_PARAM_OUTOFRANGE - Parmetro Command ou Value fora do especificado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

159

Guia de Referncia
Funes/Mtodos ConfigE1Thread (dg_ConfigE1Thread)

Configura as opes de tratamento da thread em relao ao protocolo R2. Declaraes: ActiveX: SHORT ConfigE1Thread(SHORT Port, SHORT Cmd, LONG Value); API: short dg_ConfigE1Thread(short port, short command, int value); Descrio: Sempre aps chamar o CreateE1Thread, necessrio configurar algumas informaes que indicar o comportamento da sinalizao R2D durante a troca de sinalizao. Na tabela a seguir mostrado os valores de Command e os limites de Value.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

160

Guia de Referncia
Funes/Mtodos
Command E1CFG_MAXDIGITS_RX Descrio Value

Nmero total de dgitos a receber. > 0 Zero indica que a thread R2 no far tratamento automtico do recebimento de dgitos. E1CFG_SEND_ID_AFTER Configura a partir de qual dgito >= 0 DIGIT ser solicitada a identificao. Zero indica que no enviar identificao E1CFG_GROUP_B Informa o grupo B >= 0 E1CFG_GROUP_II Informa o grupo II - Categoria do Assinante SILENCE_THRESHOLD Informa o limiar de silncio durante a sinalizao SILENCE_THRESHOLD_A Informa o limiar de silncio a ser FTER usado depois do atendimento E1CFG_SEIZURE_TIMEO Timeout de ocupao UT E1CFG_RETENTION_TIM Timeout de reteno EOUT E1CFG_ANSWER_TIMEO Timeout de atendimento UT E1CFG_BLOCKING_ON Tempo de porta atendida para bloqueio E1CFG_BLOCKING_OFF Tempo de porta desligada para bloqueio E1CFG_MFT_TIMEOUT Timeout de MF para Trs E1CFG_MFF_TIMEOUT Timeout de MF para Frente >= 0 -30 -28 7000ms 9000ms 75000ms 1000ms 2000ms 30000ms 30000ms

E1CFG_GENERATE_RING 0 - No gera tom de controle de 0 ou 1 BACK chamada 1 - Gera tom de controle de chamada (default) E1CFG_R2_COUNTRY br(brasil - default), ar(argentina) e 1 3 mx(mxico) E1CFG_SIGTYPE R2_TYPE_MFC = 1 (default), 13 R2_TYPE_CB_FXO = 2, R2_TYPE_CB_FXS = 3 Tipo de sinalizao da thread E1. Obs. R2_TYPE_CB_XXX diz respeito a sinalizao para o equipamento Digivoice Channel Bank CB3000

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

161

Guia de Referncia
Funes/Mtodos
Os parmetros de timeouts j esto configurados de acordo com a norma do protocolo R2D e s dever ser alterada se for realmente necessrio. Os quatro primeiros parmetros da lista anterior devero ser configurados sempre, de acordo com o ambiente de produo. Parmetros: Port Porta que ser iniciado o controle Command - Indica qual a informao ser configurada de acordo com as constantes da tabela anterior Value - Valor do dado indicado por Command Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_THREAD_NOT_RUNNING - A thread E1 no foi inicializada ainda DG_ERROR_PARAM_OUTOFRANGE - Parmetro Command ou Value fora do especificado Veja Tambm: CreateE1Thread, DestroyE1Thread

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

162

Guia de Referncia
Funes/Mtodos ConfigGSMThread (dg_ConfigGSMThread)

Configura a thread GSM. Declaraes: ActiveX: SHORT ConfigGSMThread(SHORT Port, SHORT command, LONG Value); API: short dg_ConfigGSMThread(short port, short command, int value); Descrio: No necessrio iniciar a thread GSM para configur-la, ou seja, os valores configurados j seram assumidos ao criar a thread. Porm se a thread estiver iniciada, e seja necessrio configura-la, necessrio desabilitar a thread GSM com o mtodo DisableGSMThread e aps a configurao ter sido concluda, habilitar a thread (EnableGSMThread), dessa forma a thread ser reiniciada com os valores configurados. O evento OnGSMReady dever ser aguardado antes do envio de qualquer outro comando para o mdulo.

Parmetros: Port Porta que ser iniciado o controle Command - Indica qual a informao ser configurada - GSMCFG_DIGIT_TIMEOUT - Configurao de timeout de respostas de mensagens - GSMCFG_ID_RESTRICTION - Restringe o BINA (identificador de

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

163

Guia de Referncia
Funes/Mtodos
A) nas ligaes de sada - GSMCFG_CALL_WAITING_ENABLE - Habilita/Desabilita o recebimento da notificao de segunda chamada - GSMCFG_RETRY_TIMEOUT - Tempo entre tentativas de inicializao dos mdulos GSM em caso de erro - GSMCFG_ANSWER_TIMEOUT - Tempo mximo aps o envio de um comando para o recebimento de resposta Value - Se o command for GSMCFG_DIGIT_TIMEOUT o tempo para considerar timeout em milisegundos (padro 5000 ms); Se for GSMCFG_ID_RESTRICTION se o valor for 0 no restringe o BINA e se o valor for 1 restringe o BINA; Se for GSMCFG_CALL_WAITING_ENABLE se o valor for 0 habilita o recebimento do aviso de segunda chamada e se o valor for 1 desabilita esse recurso; Se for GSMCFG_RETRY_TIMEOUT o tempo para considerar timeout em milisegundos em caso de erro; Se for GSMCFG_ANSWER_TIMEOUT o tempo em milisegundos para o recebimento de resposta aps o envio de um comando.

Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_THREAD_NOT_RUNNING - A thread GSM no foi inicializada ainda DG_ERROR_PARAM_OUTOFRANGE - Parmetro Command ou Value fora do especificado Veja Tambm: CreateGSMThread, DestroyGSMThread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

164

Guia de Referncia
Funes/Mtodos ConfigISDNThread (dg_ConfigISDNThread)

Configura as opes de tratamento da thread em relao ao protocolo ISDN PRI. Declaraes: ActiveX: SHORT ConfigISDNThread(SHORT Card, SHORT Framer, SHORT Command, LONG Value); API: short dg_ConfigISDNThread(short card, short framer, short command, int value); Descrio: Sempre antes de chamar o mtodo CreateISDNThread, necessrio configurar algumas informaes que indicar o comportamento da protocolo ISDN PRI durante a sinalizao. Se for necessrio configurar a thread depois que o mtodo CreateISDNThread foi chamado, basta somente desabilitar a thread com o DisableISDNThread, fazer as configuraes necessrias com o ConfigISDNThread e depois habilitar a thread com EnableISDNThread.

Parmetros: Card Placa que ser configurada Framer - Span que ser configurado Command - Indica qual a informao ser configurada de acordo com as constantes da tabela Value - Valor do dado indicado por Command

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

165

Guia de Referncia
Funes/Mtodos
Command ISDN_SET_LOCALTYPE ISDN_SET_SWITCHTYPE ISDN_SET_MIN_DIGITS Value ISDN_NET(0) ou ISDN_CPE(1) - padro 1 ISDN_EUROISDN_E1 (5) Nmero maior ou igual a 3 e menor ou igual a 22 - padro 4 Nmero maior ou igual a 3 e menor ou igual a 22 - padro 4 DG_DISABLE (0) ou DG_ENABLE (1) padro 1 DG_DISABLE (0) ou DG_ENABLE (1) padro 1 DG_DISABLE (0) ou DG_ENABLE (1) padro 0

ISDN_SET_MAX_DIGITS

ISDN_AUTO_SIGNALING

ISDN_SET_EXCLUSIVE_CHANNEL
ISDN_SET_GENERATE_TONE

Valores de Retorno: DG_EXIT_SUCCESS - Configurao feita com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro placa foi passado com valor zero ou maior do que o nmero de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro Framer fora do valor especificado DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1. DG_ERROR_THREAD_ENABLED - A thread ISDN est habilitada. Para configurar necessrio desabilitar a thread ISDN (DisableISDNThread), configur-la e depois habilit-la novamente (EnableISDNThread) Veja Tambm: CreateISDNThread, DestroyISDNThread, EnableISDNThread, DisableISDNThread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

166

Guia de Referncia
Funes/Mtodos CreateCallProgress (dg_CreateCallProgress)

Inicia o tratamento automtico de superviso de linha Declaraes: ActiveX: SHORT CreateCallProgress(SHORT Port , LPCTSTR ConfigFile); API: short dg_CreateCallProgress(short port, char *ConfigFile); Descrio: Este mtodo cria a thread de controle de superviso de linha (call progress), todas as configuraes pertinentes superviso de linha so lidas do arquivo informado no parmetro ConfigPath. Caso este arquivo no seja fornecido, as configuraes tambm podem ser modificadas pelo mtodo ConfigCallProgress. Os arquivos de configurao do callprogress ficam na mesma pasta do firmware, sendo que o arquivo padro o cp_default.cfg que dever atender a maioria das instalaes. Este arquivo contm diversos comentrios, explicando cada um dos parmetros configurveis. Este mtodo deve ser chamado antes do call progress em si ser habilitado pelo mtodo EnableCallProgress. Como uma thread com baixo consumo de processamente quando est atuando, no h maiores problemas em cri-la no incio da aplicao e s destru-la no seu trmino. Parmetros: Port Porta que ser iniciado o controle ConfigFile- Arquivo de configurao padro, sem o caminho.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

167

Guia de Referncia
Funes/Mtodos
Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_THREAD_ALREADY_RUNNING - A thread j havia sido iniciada anteriormente DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na inicializao da thread

DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_CONFIGFILE_NOT_FOUND - O arquivo de
configurao passado por parmetro no foi encontrado. No necessrio passar o caminho completo do arquivo.

DG_WARNING_OLDFILEFORMAT - O arquivo de configurao est em um formato obsoleto

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

168

Guia de Referncia
Funes/Mtodos CreateChatRoom (dg_CreateChatRoom)

Cria recurso para conferncia ("cria sala de bate papo"). Declaraes: ActiveX: LONG CreateChatRoom(SHORT Card, SHORT MaxPorts); API: long dg_CreateChatRoom(short card, short maxports); Descrio: A criao da conferncia permite que um nmero de portas determinado em maxports conversem entre si. Ao criar esse recurso o valor de retorno utilizado como um cdigo identificador (handle) para cada sala de conferncia. A conferncia criada para determinada placa. As portas que participaro desta conferncia sero determinadas pelo mtodo ChatAddPort. Atualmente a voicerLib tem capacidade para 30 salas de conferncia, mas os limites de portas por sala e capacidade de processamento das placas dever ser considerado. Parmetros: Card - Placa onde ser criada a sala de conferncia MaxPorts Mximo de canais permitido nesta sala de conferncia Valor de Retorno: Caso o retorno seja sucesso, retornar um valor maior que zero que o Handle vlido a ser usado nas outras funes, em caso de erro retorna zero

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

169

Guia de Referncia
Funes/Mtodos CreateCustomCAS (dg_CreateCustomCAS)

Inicia a thread de controle para ramal CAS (E1) Declaraes: ActiveX: SHORT CreateCustomCAS(SHORT Port , LPCTSTR ConfigFile); API: short dg_CreateCustomCAS(short port, char *ConfigFile); Descrio: Este mtodo cria a thread de controle de ramal CAS (E1). Todas as configuraes pertinentes so lidas do arquivo informado no parmetro ConfigPath. Caso este arquivo no seja fornecido, as configuraes tambm podem ser modificadas pelo mtodo ConfigCustomCAS. Os arquivos de configurao ficam na mesma pasta do firmware. Este arquivo contm diversos comentrios, explicando cada um dos parmetros configurveis. O arquivo de configurao contm a ao para cada sinal R2D que o PABX enviar ao ramal CAS. Parmetros: Port Porta que ser iniciado o controle ConfigFile- Arquivo de configurao padro, sem o caminho Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

170

Guia de Referncia
Funes/Mtodos
DG_ERROR_THREAD_ALREADY_RUNNING - A thread j havia sido iniciada anteriormente DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na inicializao da thread DG_ERROR_CONFIGFILE_NOT_FOUND - Arquivo informado no foi encontrado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

171

Guia de Referncia
Funes/Mtodos

CreateE1Thread (dg_CreateE1Thread)

Inicia o tratamento automtico do protocolo R2D de troncos digitais Declaraes: ActiveX: SHORT CreateE1Thread(SHORT Port); API: short dg_CreateE1Thread(short port); Descrio: Antes de iniciar ou receber chamadas atravs do tronco E1 necessrio chamar este mtodo, que cria uma thread de controle sinalizao de linha R2D e de registro MFC 5C. Desta forma o programador no necessita conhecer este protocolo para efetuar ou receber ligaes em cada porta. Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_THREAD_ALREADY_RUNNING - A thread j havia sido iniciada anteriormente DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na inicializao da thread DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

172

Guia de Referncia
Funes/Mtodos
intervalo permitido, excedendo o nmero de portas instaladas Veja Tambm: DestroyE1Thread, ConfigE1Thread

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

173

Guia de Referncia
Funes/Mtodos

CreateGSMThread (dg_CreateGSMThread)

Cria e inicializa os mdulos da placa GSM, a thread GSM dever ser criada para cada porta da placa. Declaraes: ActiveX: SHORT CreateGSMThread(SHORT Port); API: short dg_CreateThread(short port); Descrio: A criao das threads pode levar alguns instantes devido a conexo com a operadora de telefonia mvel e outras configuraes, por isso foi criado um evento que sinaliza se a criao e inicializao das threads foram concludas com sucesso ou no. O evento OnGSMReady deve ser aguardado antes do envio de qualquer outro comando para a porta inicializada. Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_THREAD_ALREADY_RUNNING - A thread j havia sido iniciada anteriormente DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

174

Guia de Referncia
Funes/Mtodos
DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na inicializao da thread Veja Tambm: DestroyGSMThread, ConfigGSMThread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

175

Guia de Referncia
Funes/Mtodos

CreateISDNThread (dg_CreateISDNThread)

Inicia o tratamento do protocolo ISDN PRI de troncos digitais. Declaraes: ActiveX: SHORT CreateISDNThread(SHORT Card, SHORT Framer); API: short dg_CreateISDNThread(short card, short framer); Descrio: Antes de iniciar ou receber chamadas atravs do tronco E1, que utiliza o protocolo ISDN PRI, necessrio chamar este mtodo para criar uma thread de controle sinalizao. Obs. Lembrando que necessrio configurar a thread ISDN (ConfigISDNThread) antes de cri-la. Parmetros: Card Placa que ser iniciado o controle Framer - Span que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Criou thread ISDN PRI com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro placa foi passado com valor zero ou maior do que o nmero de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro Framer fora do valor especificado DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1. DG_ERROR_THREAD_ALREADY_RUNNING - A thread ISDN j est

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

176

Guia de Referncia
Funes/Mtodos
iniciada DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na iniciao da thread ISDN Veja Tambm: DestroyISDNThread.

CreateLoggerControl (dg_CreateLoggerControl)

Inicia o tratamento automtico de gravao em paralelo para sinalizao R2 MFC. Declaraes: ActiveX: SHORT CreateLoggerControl(SHORT Port, SHORT Type); API: short dg_CreateLoggerControl(short port, short type); Descrio: Este mtodo simplifica a criao de aplicaes de gravao em paralelo, fazendo todo o tratamento do protocolo indicado pelo parmetro Type automaticamente e gerando os eventos indicativos de incio e fim da conversao. Esta thread de controle tambm cuida de todas as chamadas as funes de conferncia entre canais (ChatAddPort, CreateChatRoom, etc...). Parmetros: Port Porta que ser iniciado o controle

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

177

Guia de Referncia
Funes/Mtodos
Type - Tipo de protocolo utilizado. Valores possveis: LOGGER_RD2MF - Protocolo R2D (placas E1) Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_THREAD_ALREADY_RUNNING - A thread j est criada DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na inicializao da thread

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

178

Guia de Referncia
Funes/Mtodos CreateLoggerCCS (dg_CreateLoggerCCS)

Inicia o tratamento automtico de gravao em paralelo para a sinalizao ISDN PRI. Declaraes: ActiveX: SHORT CreateLoggerCCS(SHORT Port, SHORT Type); API: short dg_CreateLoggerCCS(short port, short type); Descrio: Este mtodo simplifica a criao de aplicaes de gravao em paralelo, fazendo todo o tratamento do protocolo indicado pelo parmetro Type automaticamente e gerando os eventos indicativos de incio e fim da conversao. Esta thread de controle tambm cuida de todas as chamadas as funes de conferncia entre canais (ChatAddPort, CreateChatRoom, etc...). Parmetros: Port Porta que ser iniciado o controle Type - 0 - Desabilita arquivo de log 1 - Habilita arquivo de log Obs. A pasta log deve estar criada se a opo for 1. Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

179

Guia de Referncia
Funes/Mtodos
intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_THREAD_ALREADY_RUNNING - A thread j est criada DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na inicializao da thread

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

180

Guia de Referncia
Funes/Mtodos DefinePortResource (dg_DefinePortResource)

Associa uma porta fsica uma porta virtual Declaraes: ActiveX: SHORT DefinePortResource(SHORT Port, SHORT Card, SHORT CardChannel); API: short dg_DefinePortResource(short port, short card, short card_channel); Descrio: Este mtodo permite associar uma porta fsica de uma determinada placa um nmero de porta lgica. Para isso, o mtodo DefinePortResource deve ser chamado passando como parmetro a porta lgica, a placa e a porta fsica da placa. Se por acaso j houver uma outra porta fsica associada uma porta lgica e se tentar associar uma nova porta, a configurao anterior ser sobreposta. O valor de porta virtual o que dever ser utilizado a partir da para se referenciar qualquer coisa daquela porta fsica. Parmetros: Port Indica o nmero da porta virtual Card - Valor da placa (1 a n) CardChannel - Valor da placa fsica da placa (depende do tipo de placa)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

181

Guia de Referncia
Funes/Mtodos
Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro card fora do intervalo de placas instaladas DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

182

Guia de Referncia
Funes/Mtodos

DestroyCallProgress (dg_DestroyCallProgress)

Finaliza o tratamento automtico de superviso de linha Declaraes: ActiveX: SHORT DestroyCallProgress(SHORT Port); API: short dg_DestroyCallProgress(short port); Descrio: Este mtodo dever ser chamado para finalizar uma thread de tratamento de superviso de linha, sempre quando no for mais necessria Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

183

Guia de Referncia
Funes/Mtodos DestroyChatRoom (dg_DestroyChatRoom)

Remove recurso de uma sala de conferncia Declaraes: ActiveX: SHORT DestroyChatRoom(SHORT Card, LONG Handle); API: short dg_DestroyChatRoom(short card, unsigned int Handle); Descrio: Utilize esse mtodo para excluir uma conferncia j existente, passando o identificado (Handle) que cdigo utilizado para identificar cada conferncia. Parmetros: Card - Placa onde ser criada a sala de conferncia Handle - Obtido como retorno do mtodo CreateChatRoom Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro card fora do intervalo de placas instaladas DG_ERROR_RESOURCE_UNAVAILABLE - Recurso no disponvel

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

184

Guia de Referncia
Funes/Mtodos DestroyCustomCAS (dg_DestroyCustomCAS)

Finaliza o tratamento automtico de ramal CAS Declaraes: ActiveX: SHORT DestroyCustomCAS(SHORT Port); API: short dg_DestroyCustomCAS(short port); Descrio: Este mtodo dever ser chamado para finalizar uma thread de tratamento de ramal CAS, sempre quando no for mais necessria Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

185

Guia de Referncia
Funes/Mtodos DestroyE1Thread (dgDestroyE1Thread)

Termina o tratamento automtico do protocolo R2D de troncos digitais. Declaraes: ActiveX: SHORT DestroyE1Thread(SHORT Port); API: short dg_DestroyE1Thread(short port); Descrio: Quando a thread de controle R2 no for mais necessria, preciso remov-la para evitar desperdcio de memria. Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa

Veja Tambm: CreateE1Thread, ConfigE1Thread

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

186

Guia de Referncia
Funes/Mtodos DestroyGSMThread (dg_DestroyGSMThread)

Destroi a thread GSM. Deve ser chamado antes do mtodo ShutdwonVoicerlib. Declaraes: ActiveX: SHORT DestroyE1Thread(SHORT Port); API: short dg_DestroyE1Thread(short port);

Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa

Veja Tambm: CreateGSMThread, ConfigGSMThread

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

187

Guia de Referncia
Funes/Mtodos DestroyISDNThread (dg_DestroyISDNThread)

Termina o tratamento do protocolo ISDN PRI. Declaraes: ActiveX: SHORT DestroyISDNThread(SHORT Card, SHORT Framer); API: short dg_DestroyISDNThread(short card, short framer);

Descrio: Quando a thread de controle ISDN no for mais necessria, preciso remov-la para evitar desperdcio de memria.

Parmetros: Card Placa que ser finalizado o controle Framer - Span que ser finalizado o controle Valores de Retorno: DG_EXIT_SUCCESS - Destruiu thread ISDN PRI com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro placa foi passado com valor zero ou maior do que o nmero de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro Framer fora do valor especificado DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

188

Guia de Referncia
Funes/Mtodos
Veja Tambm: CreateISDNThread.

DestroyLoggerControl (dg_DestroyLoggerControl)

Finaliza o tratamento automtico de gravao em paralelo. Declaraes: ActiveX: SHORT DestroyLoggerControl(SHORT Port); API: short dg_DestroyLoggerControl(short port); Descrio: Este mtodo dever ser chamada para finalizar uma thread de tratamento iniciada atravs do mtodo CreateLoggerControl. Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

189

Guia de Referncia
Funes/Mtodos DestroyLoggerCCS (dg_DestroyLoggerCCS)

Finaliza o tratamento automtico de gravao em paralelo. Declaraes: ActiveX: SHORT DestroyLoggerCCS(SHORT Port); API: short dg_DestroyLoggerCCS(short port); Descrio: Este mtodo dever ser chamada para finalizar uma thread de tratamento iniciada atravs do mtodo CreateLoggerCCS. Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

190

Guia de Referncia
Funes/Mtodos dg_SetEventCallback

Declaraes: API: void dg_SetEventCallback(void (DCALLBACK *ptrFunc) (void *), void *context_data); Descrio: Este mtodo, exclusiva da API, indica VoicerLib qual a funo que far o tratamento dos eventos da placa. Nela deve ser passado o ponteiro da funo e a estrutura que guardar os dados dos eventos. Para maiores detalhes e um exemplo de funcionamento, consulte o tpico Conceitos Bsicos - API do Guia de Programao deste manual. Parmetros: *ptrFunc: Ponteiro da funo que tratar os eventos context_data: ponteiro para a estrutura que conter os dados do evento

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

191

Guia de Referncia
Funes/Mtodos Dial (dg_Dial)

Disca uma sequncia de nmeros ou pausa. Declaraes: ActiveX: SHORT Dial(SHORT Port, LPCTSTR Number, LONG PauseAfterDial, SHORT DialType); API: short dg_Dial(short port, char *Number, long pause_after_dial, short dialtype); Descrio: O mtodo Dial permite enviar dgitos ou pausas para que seja efetuada a discagem. Pode ser enviado os dgitos de "0" a "9", "#", "*" e os smbolos de pausa "vrgula" "ponto-e-vrgula" e "ponto". A pausa para cada smbolo deve ser atribuda atravs do mtodo SetDialDelays. O parmetro DialType aceita apenas o valor dtTone(1) para discagens por tom. Se o protocolo for R2D MFC, o dgito enviado, sendo gerado um MFF ou MFT, conforme o andamento do protocolo. Se o protocolo for ISDN PRI, os dgitos sero enviados apenas por sinalizao. Parmetros: Port Indica a porta da placa Number String contendo os dgitos ou pausas para discagem.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

192

Guia de Referncia
Funes/Mtodos
PauseAfterDial - um tempo extra em milisegundos que dado aps a discagem. O evento OnAfterDial s ser gerado aps este tempo. DialType - Pode assumir o valor dtTone(1), indicando se a discagem por tom ou dtDirectMF(7) que gera o MF mesmo com a thread E1 habilitada Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro Port fora do intervalo permitido DG_ERROR_PARAM_OUTOFRANGE - Parametro PauseAfterDial maior que 60000 ms DG_FEATURE_NOT_SUPPORTED - Para o protocolo ISDN PRI, necessrio que a placa seja E1 DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na iniciao da thread DG_ERROR_PORT_ALREADY_IN_USE - Caso o protocolo seja ISDN, a porta esta ocupada (ISDN_SET_EXCLUSIVE_CHANNEL = DG_ENABLE) e/ou no tem outras portas disponveis (ISDN_SET_EXCLUSIVE_CHANNEL = DG_DISABLE) DG_ERROR_PORT_IS_NOT_IN_USE - Caso o protocolo seja ISDN, a porta no est atendida DG_ERROR_FIFO_UNAVAILABLE - Fifo de comunicao entre threads no est disponvel. Falta de memria pode ser a causa mais comum. DG_ERROR_THREAD_DISABLED - A thread ISDN est desabilitada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

193

Guia de Referncia
Funes/Mtodos

DisableAGC (dg_DisableAGC)

Desabilita o ajuste automtico de ganho em um determinada porta Declaraes: ActiveX: SHORT DisableAGC(SHORT Port); API: short dg_DisableAgc(short port); Descrio: Este mtodo desabilita o controle automtico de ganho em uma gravao ou conferncia. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

194

Guia de Referncia
Funes/Mtodos DisableAnswerDetection (dg_DisableAnswerDetection)

Desabilita a superviso de atendimento Declaraes: ActiveX: SHORT DisableAnswerDetection(SHORT Port); API: short dg_DisableAnswerDetection(short port); Descrio: O mtodo DisableAnswerDetection desabilita a superviso de atendimento. A chamada deste mtodo no tem efeito nas placas digitais pois, devido caracterstica do protocolo utilizado, a deteco sempre est habilitada. Nas placas FXO, o atendimento detectado por udio ou por timeout. Logo ao primeiro evento OnAnswerDetected preciso chamar este mtodo pois, caso contrrio, o evento continuar sendo gerado durante a conversao. A VoicerLib 4 tem funes especficas para deteco de silncio, no sendo mais necessrio utilizar a deteco de atendimento para este fim.

Parmetros: Port Indica a porta da placa Valor de Retorno:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

195

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_THREAD_NOT_RUNNING - Thread de controle de callprogress no est em funcionamento DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

196

Guia de Referncia
Funes/Mtodos

DisableAutoFramers (dg_DisableAutoFramers)

Desabilita os framers E1 Declaraes: ActiveX: SHORT DisableAutoFramers(void); API: short dg_DisableAutoFramers(void); Descrio: Sempre quando for chamado o mtodo de sincronismo SetCardSyncMode, a VoicerLib automaticamente reinicia os framers que fazem a comunicao E1.

Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso

DG_ERROR_DRIVER_ALREADY_OPEN - Driver j habilitado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

197

Guia de Referncia
Funes/Mtodos DisableCallProgress (dg_DisableCallProgress)

Desabilita a superviso de linha, fax e ocupado. Declaraes: ActiveX: SHORT DisableCallProgress(SHORT Port); API: short dg_DisableCallProgress(short port); Descrio: O mtodo DisableCallProgress desabilita a superviso de linha sem finalizar a thread de controle de callprogress. A superviso de linha permite monitorar o sinal de chamada, ocupado, fax e tom de discagem.

Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_THREAD_NOT_RUNNING - A thread de callprogress no foi criada (pelo mtodo CreateCallProgress) DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

198

Guia de Referncia
Funes/Mtodos DisableDebug (dg_DisableDebug)

Desabilita o recurso de depurao da VoicerLib. Declaraes: ActiveX: SHORT DisableDebug(void); API: short dg_DisableDebug(void); Descrio: Este mtodo desabilita o envio de informaes de debug via TCP/IP Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

199

Guia de Referncia
Funes/Mtodos DisableDTMFFilter (dg_DisableDTMFFilter)

Desabilita filtro de DTMF e 425Hz Declaraes: ActiveX: SHORT DisableDTMFFilter(SHORT Port); API: short dg_DisableDTMFFilter(short port); Descrio: O mtodo DisableDTMFFilter desliga as filtragens de DTMF de uma determinada porta do sistema. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

200

Guia de Referncia
Funes/Mtodos DisableE1Thread (dg_DisableE1Thread)

Desabilita o tratamento automtico do protocolo R2D de troncos digitais. Declaraes: ActiveX: SHORT DisableE1Thread(SHORT Port); API: short dg_DisableE1Thread(short port); Descrio: O DisableE1Thread faz com que a thread pare de controlar o protocolo R2D de determinada porta, sem que a thread seja destruda. Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado

DG_ERROR_THREAD_NOT_RUNNING - A thread E1 no foi inicializada ainda


DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Veja Tambm: CreateE1Thread, ConfigE1Thread, DestroyE1Thread, EnableE1Thread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

201

Guia de Referncia
Funes/Mtodos DisableEchoCancelation (dg_DisableEchoCancelation)

Desabilita cancelamento de eco em recursos de conferncia. Declaraes: ActiveX: SHORT DisableEchoCancelation(SHORT Port); API: short dg_DisableEchoCancelation(short port); Descrio: O mtodo DisableEchoCancelation desabilita o cancelamento de eco nos recursos de conferncia. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

202

Guia de Referncia
Funes/Mtodos DisableGSMThread (dg_DisableGSMThread)

Desabilita a thread GSM. Declaraes: ActiveX: SHORT DisableGSMThread(SHORT Port); API: short dg_DisableGSMThread(short port);

Descrio: Desabilita a comunicao da aplicao com os mdulos GSM da porta especificada Parmetros: Port Porta que ser iniciado o controle Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_THREAD_NOT_RUNNING - Thread de controle de GSM no est em funcionamento Veja tambm: EnableGSMThread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

203

Guia de Referncia
Funes/Mtodos DisableInputBuffer (dg_DisableInputBuffer)

Interrompe o envio de amostras da placa para a aplicao. Declaraes: ActiveX: SHORT DisableInputBuffer(SHORT Port); API: short dg_DisableInputBuffer(short port); Descrio: O mtodo DisableInputBuffer interrompe o envio de amostras da placa para a aplicao, iniciada pelo EnableInputBuffer. Este mtodo deve ser chamado sempre aps o StopRecordFile caso haja uma gravao em curso. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

204

Guia de Referncia
Funes/Mtodos DisableISDNThread (dg_DisableISDNThread)

Desabilita o tratamento do protocolo ISDN PRI de troncos digitais. Declaraes: ActiveX: SHORT DisableISDNThread(SHORT Card, SHORT Framer); API: short dg_DisableISDNThread(short card, short framer); Descrio: Este mtodo faz com que a thread pare de controlar o protocolo ISDN de determinado span, sem que a thread seja destruda. Parmetros: Card Indica a placa que a thread ser desabilitada Framer - Indica o span especfico da placa que a thread ser desabilitada Valor de Retorno: DG_EXIT_SUCCESS - Desabilitou thread ISDN com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro placa foi passado com valor zero ou maior do que o nmero de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro Framer fora do valor especificado DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1. DG_ERROR_THREAD_NOT_RUNNING - Thread ISDN no est habilitada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

205

Guia de Referncia
Funes/Mtodos
Veja Tambm: EnableISDNThread, ConfigISDNThread.

DisableMailBoxDetection (dg_DisableMailBoxDetection)

Desabilita a deteco de caixa postal (secretria eletrnica). Declaraes: ActiveX: SHORT DisableMailBoxDetected(SHORT Port); API: short dg_DisableMailDetected(short port); Descrio: Ao desabilitar a deteco de caixa postal (secretria eletrnica), a VoicerLib internamente desabilita tambm a deteco de silncio (DisableSilenceDetection). Obs. Aps o evento OnMailBoxDetected acontecer, este mtodo chamado automaticamente pela VoicerLib. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

206

Guia de Referncia
Funes/Mtodos DisablePulseDetection (dg_DisablePulseDetection)

Desabilita a deteco de pulso. Declaraes: ActiveX: SHORT DisablePulseDetection(SHORT Port); API: short dg_DisablePulseDetection(short port); Descrio: Este mtodo desabilita a deteco de pulso. Parmetros: Port Indica a porta da placa que gerou o evento Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

207

Guia de Referncia
Funes/Mtodos DisableSilenceDetection (dg_DisableSilenceDetection)

Desabilita a deteco de silncio Declaraes: ActiveX: SHORT DisableSilenceDetection(SHORT Port); API: short dg_DisableSilenceDetection(short port); Descrio: O mtodo DisableSilenceDetection desabilita a deteco de silncio da VoicerLib que foi habilitada pelo EnableSilenceDetection. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

208

Guia de Referncia
Funes/Mtodos DisconnectAudioChannels (dg_DisconnectAudioChannels)

Efetua uma desconexo de duas portas conectadas de qualquer placa. Declaraes: ActiveX: SHORT DisconnectAudioChannels(SHORT Port1, SHORT Port2); API: short dg_DisconnectAudioChannels(short port1,short port2); Descrio: Ao chamar este mtodo, as duas portas voltam a ter o comportamento inicial, de antes de serem conectadas pelo ConnectAudioChannels.

Parmetros: Port1 Indica a primeira porta a ser desconectada Port2 Indica a segunda porta a ser desconectada Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

209

Guia de Referncia
Funes/Mtodos EnableAGC (dg_EnableAGC)

Habilita o ajuste automtico de ganho em um determinada porta Declaraes: ActiveX: SHORT EnableAGC(SHORT Port); API: short dg_EnableAgc(short port); Descrio: O AGC (Automatic Gain Control) ou controle automtico de ganho muito til quando existe uma diferena de ganho entre os interlocutores numa gravao ou conferncia. Ao habilitar este controle, o desenvolvedor pode melhorar substancialmente a qualidade da gravao ou a conversao em um conferncia Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

210

Guia de Referncia
Funes/Mtodos EnableAnswerDetection (dg_EnableAnswerDetection)

Habilita a superviso de atendimento. Declaraes: ActiveX: SHORT EnableAnswerDetection(SHORT Port); API: short dg_EnableAnswerDetection(short port); Descrio: O mtodo EnableAnswerDetection habilita a superviso de atendimento. A superviso de linha permite monitorar quando uma ligao for atendida. necessrio que a thread de controle de callprogress tenha sido iniciada (CreateCallProgress) e que o mtodo EnableCallProgress tambm tenha sido chamado para que a deteco de atendimento possa funcionar. A chamada deste mtodo no tem efeito nas placas E1 pois, devido caractertica do protocolo utilizado, a deteco sempre est habilitada. Ao ser detectado o atendimento, o evento OnAnswerDetected gerado indicando o tipo de deteco (por udio ou por timeout) e poder ser tratado pela aplicao. Nas placas analgicas esta deteco gerada a partir da presena de udio na linha. Nas placas digitais, o atendimento um dado, portanto, o evento gerado no atendimento, independente da existncia de udio. A VoicerLib 4 tem funes especficas para deteco de silncio, no sendo mais necessrio utilizar a deteco de atendimento para este fim.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

211

Guia de Referncia
Funes/Mtodos
Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_THREAD_NOT_RUNNING - Thread de controle de callprogress no est em funcionamento

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

212

Guia de Referncia
Funes/Mtodos EnableCallProgress (dg_EnableCallProgress)

Habilita a superviso de linha, chamada, fax e ocupado. Declaraes: ActiveX: SHORT EnableCallProgress(SHORT Port, SHORT CPType); API: short dg_EnableCallProgress(short port, short cptype); Descrio: O mtodo EnableCallProgress habilita a superviso de linha. A superviso de linha permite monitorar o tom de discagem, ocupado, chamada e fax. Quando o sistema iniciado, a superviso est desabilitada como padro, portanto necessrio criar uma thread de controle de callprogress para cada porta atravs do mtodo CreateCallProgress e chamar o EnableCallProgress quando se quiser monitorar a linha. O parmetro CPType indica o tipo de superviso a ser iniciada. Consulte o "Guia do Programador" no tpico Superviso de Linha para saber maiores detalhes de quando utilizar cada tipo de call progress.

Parmetros: Port Indica a porta da placa. CPType - Tipo de superviso - CP_ENABLE_GENERIC_TONE - Desenvolvida para detectar a presena de um tom qualquer pr-configurado ou o atendimento

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

213

Guia de Referncia
Funes/Mtodos
de chamada, se esta facilidade estiver habilitada na VoicerLib pelo mtodo EnableAnswerDetection - CP_ENABLE_LINETONE_OR_BUSY - Desenvolvida para a deteco rpida de tom de discar (tom de linha) ou ocupado antes do incio de uma discagem ou aps um Flash - CP_ENABLE_BUSY_OR_FAX - Desenvolvida para a deteco rpida de tom de ocupado ou sinal de FAX aps o atendimento de uma chamada - CP_ENABLE_ALL - Desenvolvida para a deteco de tons de discar, de chamada, de ocupado, de FAX e atendimento entre uma discagem e o atendimento pelo assinante chamado

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro CPType fora do intervalo permitido DG_ERROR_THREAD_NOT_RUNNING - Thread de controle no foi iniciada pelo CreateCallProgress.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

214

Guia de Referncia
Funes/Mtodos EnableDebug (dg_EnableDebug)

Habilita o recurso de depurao da VoicerLib em ambiente Windows. Declaraes: ActiveX: SHORT EnableDebug(SHORT UdpPort); API: short dg_EnableDebug(short UdpPort); Descrio: A VoicerLib tem um recurso de depurao que permite que seja enviado mensagens via TCP/IP (UDP) de todos os comandos de baixo nvel enviados para ou recebidos da placa. Para isso utilizado o recurso de broadcast do protocolo UDP, permitindo que as mensagens sejam monitoradas de outra aplicao, mesmo que seja em um computador remoto. Este recurso til para fins de localizao de problemas, porm no deve ser utilizado em ambientes de produo que no necessitem de depurao pois consome recursos de CPU. Obs. Veja o tpico Depurando aplicativos para placas E1 com R2MFC. Parmetros: UdpPort - Informa qual a porta UDP dever ser monitorada pela aplicao cliente Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

215

Guia de Referncia
Funes/Mtodos

EnableDTMFFilter (dg_EnableDTMFFilter)

Habilita filtro de DTMF Declaraes: ActiveX: SHORT EnableDTMFFilter(SHORT Port); API: short dg_EnableDTMFFilter(short port); Descrio: O mtodo EnableDTMFFilter habilita a filtragem de tons DTMF e 425Hz. Esta filtragem necessria principalmente em situaes de conferncia para evitar que os dgitos detectados por uma porta sejam tambm detectados por outra na mesma conferncia. O mesmo vale para o tom 425hz pois o tom de ocupado tambm no pode se propagar em todos os canais de conferncia. Em uma aplicao de conferncia tpica, vrios canais esto compartilhando o mesmo recurso e tudo que se ouve ou se fala em uma porta propagado pelas outras. Muitas vezes necessrio que o usurio interaja com o sistema atravs de dgitos do telefone. Para permitir isso sem que exista interferncia das outras portas, essa filtragem se torna necessria. Importante: Este recurso no permite a utilizao simultnea da gravao em formato GSM. Parmetros: Port Indica a porta da placa

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

216

Guia de Referncia
Funes/Mtodos
Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

217

Guia de Referncia
Funes/Mtodos

EnableE1Thread (dg_EnableE1Thread)

Habilita o tratamento automtico do protocolo R2D de troncos digitais. Declaraes: ActiveX: SHORT EnableE1Thread(SHORT Port); API: short dg_EnableE1Thread(short port); Descrio: Aps o uso do DisableE1Thread necessrio chamar o EnableE1Thread para que a thread de controle R2 possa voltar a gerenciar o protocolo R2D. Parmetros: Port Porta que ser iniciado o controle Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Veja Tambm: CreateE1Thread, ConfigE1Thread, DestroyE1Thread, DisableE1Thread

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

218

Guia de Referncia
Funes/Mtodos EnableEchoCancelation (dg_EnableEchoCancelation)

Habilita cancelamento de eco em recursos de conferncia. Declaraes: ActiveX: SHORT EnableEchoCancelation(SHORT Port); API: short dg_EnableEchoCancelation(short port, short taps, short training); Descrio: O mtodo EnableEchoCancelation habilita o cancelamento de eco nos recursos de conferncia, evitando a degradao do sinal causada pelo efeito de eco no udio. ATENO: Nas placas E1, o cancelamento de eco s pode ser utilizado nas placas com 30 canais. Nas placas com 60 canais, o mtodo retorna DG_FEATURE_NOT_SUPPORTED e o cancelamento de eco no ativado. Pode-se forar uma placa de 60 canais funcionar apenas com 30 e suportar cancelamento de eco chamando-se o mtodo ForceSingleSpan antes de se iniciar a VoicerLib. Obs. Caso utilize o ActiveX, os parmetros taps e training sero:

taps = ECHO_TAPS_64 (ou ECHO_TAPS_128 quando o nmero de portas for menor ou igual a trinta na placa)
training = 800 milisegundos

Parmetros:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

219

Guia de Referncia
Funes/Mtodos
Port Indica a porta da placa taps (API) - Tamanho do cancelador de eco training (API) - Tempo antes do treinamento do cancelador de eco Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

220

Guia de Referncia
Funes/Mtodos EnableFSKDetection (dg_EnableFSKDetection)

Habilita deteco de identificao de assinante no padro FSK. Declaraes: ActiveX: SHORT EnableFSKDetection(SHORT Port, SHORT Enable, SHORT Type); API: short dg_EnableFSKDetection(short port, short enable, short type);

Parmetros: Port Indica a porta da placa Enable - 0 disable, 1- enable Type - 0 V.23, 1 Bell 202

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro Enable ou Type diferente dos valores permitidos

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

221

Guia de Referncia
Funes/Mtodos EnableGSMThread (dg_EnableGSMThread)

Habilita a thread GSM. Declaraes: ActiveX: SHORT EnableGSMThread(SHORT Port); API: short dg_EnableGSMThread(short port); Descrio: Habilita a comunicao da aplicao com os mdulos GSM da porta especificada. Parmetros: Port Indica a porta da placa

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_THREAD_NOT_RUNNING - Thread de controle de GSM no est em funcionamento Veja tambm: DisableGSMThread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

222

Guia de Referncia
Funes/Mtodos EnableInputBuffer (dg_EnableInputBuffer)

Habilita o envio de amostras da placa para a aplicao. Declaraes: ActiveX: SHORT EnableInputBuffer(SHORT Port, SHORT Agc_Enable); API: short dg_EnableInputBuffer(short port, short agc_enable); Descrio: O mtodo EnableInputBuffer inicia o envio de amostras da placa para a VoicerLib. Com isso possvel iniciar uma gravao em arquivo ou manipular as amostras diretamente na aplicao ou ainda ambas as situaes simultanemente. O que determina o que ser feito com as amostras a chamada do mtodo RecordFile para grav-las ou associando uma funo callback com o mtodo SetAudioInputCallback para trat-la diretamente na aplicao (VoIP, por exemplo). Recomenda-se chamar o EnableInputBuffer somente no incio da aplicao e a cada gravao, utilizar o PauseInputBuffer quando necessrio. O parmetro agc_enable permite habilitar o controle automatico de ganho que melhora a qualidade da gravao caso a diferena de udio entre os interlocutores seja muito grande. Parmetros:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

223

Guia de Referncia
Funes/Mtodos
Port Indica a porta da placa Agc_Enable - Habilita/desabilita controle de ganho. Pode receber DG_ENABLE_AGC(1) ou DG_DISABLE_AGC(0)

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Agc_enable diferente dos valores permitidos DG_ERROR_THREAD_ALREADY_RUNNING - A thread de envio de amostras da placa j est em execuo

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

224

Guia de Referncia
Funes/Mtodos EnableISDNThread (dg_EnableISDNThread)

Habilita o tratamento do protocolo ISDN PRI. Declaraes: ActiveX: SHORT EnableISDNThread(SHORT Card, SHORT Framer); API: short dg_EnableISDNThread(short card, short framer); Descrio: Aps o uso do DisableISDNThread necessrio chamar o EnableISDNThread para que a thread de controle possa voltar a gerenciar o protocolo ISDN PRI. Parmetros: Card Indica a placa Framer - Indica o span da placa Valor de Retorno: DG_EXIT_SUCCESS - Habilitou thread ISDN com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro placa foi passado com valor zero ou maior do que o nmero de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro Framer fora do valor especificado DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1. DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na iniciao da thread ISDN

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

225

Guia de Referncia
Funes/Mtodos
DG_EXIT_FAILURE - Falha no envio do comando para a placa DG_ERROR_THREAD_NOT_RUNNING - Thread ISDN no est em execuo

Veja Tambm: DisableISDNThread , ConfigISDNThread.

EnableMailBoxDetection (dg_EnableMailBoxDetection)

A VoicerLib possui um algoritmo para a deteco de Caixa Postal (Secretria Eletrnica), que tenta reconhecer o padro de um atendimento humano (que um "Al" seguido de silncio) de um atendimento eletrnico (normalmente uma mensagem de udio mais longa). Para habilitar esta superviso de atendimento, utilize este mtodo. Caso seja detectado caixa postal (secretria eletrnica), a VoicerLib gerar o evento OnMailBoxDetected com o status 0 (udio). Declaraes: ActiveX: SHORT EnableMailBoxDetected(SHORT Port, SHORT SilenceTime, SHORT AudioTime, SHORT Threshold); API: short dg_EnableMailBoxDetected(short port, short silencetime, short audiotime, short threshold); Descrio: Habilite a deteco depois do atendimento da porta. Neste mtodo a VoicerLib habilita internamente a superviso de linha (EnableCallProgress) com CP_ENABLE_BUSY_OR_FAX e

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

226

Guia de Referncia
Funes/Mtodos
habilita deteco de silncio (EnableSilenceDetection) com o tempo passado no parmetro SilenceTime como tempo de silncio e com o tempo passado no parmetro AudioTime como tempo de udio. Obs. Sempre necessrio criar a thread de CallProgress para qualquer interface. Parmetros: Port Indica a porta da placa AudioTime - Tempo mnimo de udio para ser considerado um atendimento eletrnico SilenceTime - Tempo de silncio mnimo em que o recebedor da chamada deve ficar em silncio para ser considerado atendimento humano. (Este tempo deve ser maior que 800 ms) Threshold - Limiar de silncio somente para a deteco de caixa postal, aps essa deteco o valor antigo restaurado. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

227

Guia de Referncia
Funes/Mtodos EnablePulseDetection (dg_EnablePulseDetection)

Habilita a deteco de pulso. Declaraes: ActiveX: SHORT EnablePulseDetection(SHORT Port, SHORT Sensibility); API: short dg_EnablePulseDetection(short port, short sensibility); Descrio: Este mtodo habilita a deteco de pulso. S possvel detectar pulso com preciso durante o silncio. O parmetro sensibilidade permite alterar a sensibilidade de deteco de pulso, variando de -42dB at +12dB mas aconselhase sempre passar zero, e variar o valor apenas caso haja algum problema na deteco de pulso. Ao hablitar a deteco de pulso, os eventuais dgitos detectados so tratados da mesma forma que na deteco de MFs, ou seja, atravs do evento OnDigitDetected ou OnDigitsReceived Parmetros: Port Indica a porta da placa Sensibility - Sensibilidade de deteco variando de -42dB at +12dB Valor de Retorno:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

228

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

229

Guia de Referncia
Funes/Mtodos

EnableSilenceDetection (dg_EnableSilenceDetection)

Habilita a deteco de silncio. Declaraes: ActiveX: SHORT EnableSilenceDetection(SHORT Port, LONG silence_time, SHORT audio_time); API: short dg_EnableSilenceDetection(short port, int silence_time, short audio_time); Descrio: Este mtodo habilita a deteco de silncio. A VoicerLib detectar silncio se perceber a ausncia de audio por silence_time em milisegundos. O parmetro audio_time permite modificar a sensibilidade com que a VoicerLib detectar udio (inverso de silncio) e representado em milisegundos tambm. O padro passar zero no audio_time para que ao primeiro sinal de udio, a VoicerLib j gere o evento indicando fim do silncio. O evento OnSilenceDetected ocorre quando se detecta o silncio e quando se detecta o fim do silncio. O parmetro recebido SignalCode indica se foi detectado o silncio recebendo o valor DG_SILENCE_DETECTED (1) ou fim de silncio recebendo o valor DG_AUDIO_DETECTED (0).

Parmetros: Port Indica a porta da placa silence_time - Valor mnimo em milisegundos para considerar

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

230

Guia de Referncia
Funes/Mtodos
silncio audio_time - Valor mnimo em milisegundos para considerar presena de udio ou zero para considerar no primeiro sinal de udio (recomendado)

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

231

Guia de Referncia
Funes/Mtodos Flash (dg_Flash)

Executa um comando de flash para a central PABX. Declaraes: ActiveX: SHORT Flash(SHORT Port, SHORT MSec, SHORT PauseAfterFlash); API: short dg_Flash(short port, short flash_count, long msec, long pauseafterflash); Descrio: Com a placa FXO, as centrais PABX sempre necessitam do flash (desligar e ligar) para poder efetuar uma transferncia ou outra funo qualquer. O mtodo Flash permite que seja encaminhado para a placa um comando flash com o tempo em milissegundos especificado e tambm um tempo de pausa aps o flash. Esta pausa til em algumas centrais que demoram para comutar os ramais. Nas placas E1, o flash se comporta de maneira diferente e depende de correta configurao de ramais CAS (veja em CreateCustomCAS). Nestes casos, ao executar o comando de flash, o sistema enviar comandos R2 ao PABX. Se no estiver configurado as threads de controle CAS, esta funo no tem efeito nenhum. Parmetros: Port Indica a porta da placa Milisseconds Indica o tempo em milissegundos para o Flash (consulte a documentao do PABX para maiores detalhes) PauseAfterFlash - Indica a pausa aps flash em milissegundos.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

232

Guia de Referncia
Funes/Mtodos
flash_count (API) - Indica a quantidade de flashes Obs. Caso utilize o ActiveX, o parmetros flash_count ser 1.

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_EXIT_FAILURE - Falha no envio do comando para a placa DG_ERROR_COULD_NOT_CREATE_THREAD - No foi possvel iniciar a thread para executar esta operao

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

233

Guia de Referncia
Funes/Mtodos ForceSingleSpan (dg_ForceSingleSpan)

Fora uma placa de 60 canais a ser de 30 canais Declaraes: ActiveX: SHORT ForceSingleSpan(void); API: short dg_ForceSingleSpan(void); Descrio: Este mtodo deve ser chamado somente no caso de se ter placas de 60 canais e se querer utilizar o cancelamento de eco nos primeiros 30 canais. obrigatrio cham-lo antes de se iniciar a VoicerLib. Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_ALREADY_OPEN - Driver j habilitado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

234

Guia de Referncia
Funes/Mtodos GenerateMF (dg_GenerateMF)

Gerador de sinais multifrequnciais Declaraes: ActiveX: SHORT GenerateMF(SHORT Port, SHORT TypeMF, SHORT Dig); API: short dg_GenerateMF(short port, short type, char cDig); Descrio: Este mtodo inicia a gerao de sinais multifrequnciais conforme indicado no parmetro TypeMF. Qualquer valor maior que zero inicia a gerao do MF e ele s ser suspenso quando for chamado o valor GENERATE_OFF. Parmetros: Port Indica a porta da placa TypeMF Tipo do MF a ser gerado: GENERATE_OFF = 0 GENERATE_DTMF = 1 GENERATE_MFT = 2 GENERATE_MFF = 3 GENERATE_MF = 4 GENERATE_TONE1 = 5 GENERATE_TONE2 = 6 Dig Dgito a ser gerado (1 a 15)

Valor de Retorno:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

235

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido. (Type ou Dig diferente dos valores anteriores)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

236

Guia de Referncia
Funes/Mtodos

GetAbsolutePortNumber (dg_GetAbsolutePortNumber)

Retorna o nmero absoluto da porta Declaraes: ActiveX: SHORT GetAbsolutePortNumber(SHORT Card, SHORT RelativePort); API: short dg_GetAbsolutePortNumber(short card, short relativeport); Descrio: A porta absoluta a numerao de 1 a n, dependendo dos tipos e da quantidade de placas instaladas. Deve ser passado o nmero da placa e a porta relativa. Ex.: placa 2, porta relativa 3 equivale a porta absoluta 63 em um sistema com placas digitais de 60 canais. Parmetros: Card - Valor da placa (1 a n) RelativePort Indica a valor da porta relativa aquela placa Valor de Retorno: Caso o retorno seja sucesso, retornar o nmero da porta absoluta maior ou igual a um Em caso de erro retorna zero

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

237

Guia de Referncia
Funes/Mtodos GetAlarmStatus (dg_GetAlarmStatus)

Solicita estado dos alarmes Declaraes: ActiveX: SHORT GetAlarmStatus(SHORT Card); API: short dg_GetAlarmStatus(short card);

Descrio: Os alarmes dos E1s das placas digitais so gerados automaticamente pela placa quando ocorrem. Este mtodo permite solicitar manualmente o ltimo estado dos alarmes. O evento OnE1Alarm ser gerado indicando o cdigo dos alarmes. Parmetros: Card Valor da placa (1 a n) Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado

DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa


DG_ERROR_CARD_OUT_OF_RANGE - Parmetro Card fora do intervalo permitido, excedendo o nmero de placas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

238

Guia de Referncia
Funes/Mtodos GetBusyCause (dg_GetBusyCause)

Retorna a causa do desligamento da chamada em caso de ocupado no protocolo ISDN PRI. Declaraes: ActiveX: SHORT GetBusyCause(SHORT Port); API: short dg_GetBusyCause(short port); Descrio: Este mtodo pode ser executado para obter o motivo do desligamento da chamada somente aps receber o evento OnBusyDetected. Utilize o mtodo ReturnCodeToStringCauseBusy para obter a descrio da causa de ocupado. Parmetros: Port Porta onde deve ser lida a sinalizao Valores de Retorno: Causas Normais - ISDN_CAUSE_UNALLOCATED_NUMBER (1) - ISDN_CAUSE_NO_ROUTE_SPECIFIC_TRANSIT_NETWORK (2) - ISDN_CAUSE_NO_ROUTE_DESTINATION (3) - ISDN_CAUSE_SEND_SPECIAL_INFORMATION_TONE (4) - ISDN_CAUSE_MISDIALLED_TRUNK_PREFIX (5) - ISDN_CAUSE_CHANNEL_UNACCEPTABLE (6) - ISDN_CAUSE_CALL_AWARDED (7)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

239

Guia de Referncia
Funes/Mtodos
- ISDN_CAUSE_PREEMPTION (8) - ISDN_CAUSE_PREEMPTION_CIRCUIT_RESERVED (9) - ISDN_CAUSE_NORMAL_CALL_CLEARING (16) - ISDN_CAUSE_USER_BUSY (17) - ISDN_CAUSE_NO_USER_RESPONDING (18) - ISDN_CAUSE_NO_ANSWER_FROM_USER (19) - ISDN_CAUSE_SUBSCRIBER_ABSENT (20) - ISDN_CAUSE_CALL_REJECTED (21) - ISDN_CAUSE_NUMBER_CHANGED (22) - ISDN_CAUSE_REDIRECTION_TO_NEW_DESTINATION (23) - ISDN_CAUSE_EXCHANGE_ROUTING_ERROR (25) - ISDN_CAUSE_NON_SELECTED_USER_CLEARING (26) - ISDN_CAUSE_DESTINATION_OUT_OF_ORDER (27) - ISDN_CAUSE_INVALID_NUMBER_FORMAT (28) - ISDN_CAUSE_FACILITY_REJECTED (29) - ISDN_CAUSE_STATUS_ENQUIRY (30) - ISDN_CAUSE_NORMAL_UNSPECIFIED (31)

Recurso Indisponvel - ISDN_CAUSE_NO_CIRCUIT_CHANNEL_AVAILABLE (34) - ISDN_CAUSE_NETWORK_OUT_OF_ORDER (38) ISDN_CAUSE_PERMANENT_FRAME_MODE_CONNECTION_OUT_SE RVICE (39) ISDN_CAUSE_PERMANENT_FRAME_MODE_CONNECTION_OPERATI ONAL (40) - ISDN_CAUSE_TEMPORARY_FAILURE (41) - ISDN_CAUSE_SWITCHING_EQUIPAMENT_CONGESTION (42) - ISDN_CAUSE_ACCESS_INFORMATION_DISCARDED (43) - ISDN_CAUSE_REQUEST_CIRCUIT_CHANNEL_NOT_AVAILABLE (44) - ISDN_CAUSE_PRECEDENCE_CALL_BLOCKED (46) - ISDN_CAUSE_RESOURCE_UNAVAILABLE_UNSPECIFIED (47)

Servio Indisponvel - ISDN_CAUSE_QOS_NOT_AVAILABLE (49) - ISDN_CAUSE_REQUESTED_FACILITY_NOT_SUBSCRIBED (50)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

240

Guia de Referncia
Funes/Mtodos
- ISDN_CAUSE_OUTGOING_CALLS_BARRED_WITHIN_CUG (53) - ISDN_CAUSE_INGOING_CALLS_BARRED_WITHIN_CUG (55) - ISDN_CAUSE_BEARER_CAPABILITY_NOT_AUTHORIZED (57) ISDN_CAUSE_BEARER_CAPABILITY_NOT_PRESENTLY_AVAILABLE (58) - ISDN_CAUSE_INCONSISTENCY_IN_DESIGNEATED_OUTGOING (62) - ISDN_CAUSE_SERVICE_NOT_AVAILABLE_SPECIFIED (63)

Servio No Implementado - ISDN_CAUSE_BEARER_CAPABILITY_NOT_IMPLEMENTED (65) - ISDN_CAUSE_CHANNEL_TYPE_NOT_IMPLEMENTED (66) - ISDN_CAUSE_REQUEST_FACILITY_NOT_IMPLEMENTED (69) - ISDN_CAUSE_ONLY_RESTRICTED_DIGITAL_BEARER_AVAILABLE (70) - ISDN_CAUSE_SERVICE_OPTION_NOT_IMPLEMENTED (79)

Mensagem ou Sinalizao Invlida - ISDN_CAUSE_INVALID_CALL_REFERENCE_VALUE (81) - ISDN_CAUSE_IDENTIFIED_CHANNEL_NOT_EXIST (82) - ISDN_CAUSE_SUSPENDED_CALL_EXIST_CALL_IDENTITY_NOT (83) - ISDN_CAUSE_CALL_IDENTITY_IN_USE (84) - ISDN_CAUSE_NO_CALL_SUSPENDED (85) - ISDN_CAUSE_REQUESTED_CALL_IDENITY_HAS_BEEN_CLEARED (86) - ISDN_CAUSE_USER_NOT_MEMBER_OF_CUG (87) - ISDN_CAUSE_INCOMPATIBLE_DESTINATION (88) - ISDN_CAUSE_NON_EXISTENT_CUG (90) - ISDN_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION (91) - ISDN_CAUSE_INVALID_MESSAGE_UNSPECIFIED (95)

Erro de Protocolo - ISDN_CAUSE_MANDATORY_INFORMATION_MISSING (96) - ISDN_CAUSE_MESSAGE_TYPE_NON_EXISTENT (97) -

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

241

Guia de Referncia
Funes/Mtodos
ISDN_CAUSE_MESSAGE_NOT_COMPATIBLE_EXISTENT_IMPLEMEN TED (98) - ISDN_CAUSE_INFORMATION_ELEMENT_NON_EXISTENT (99) - ISDN_CAUSE_INVALID_INFORMATION_ELEMENT (100) - ISDN_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_CALL_STATE (101) - ISDN_CAUSE_RECOVERY_ON_TIMER_EXPIRY (102) - ISDN_CAUSE_PARAMETER_NOT_EXISTENT_IMPLEMENTED (103) - ISDN_CAUSE_MESSAGE_WITH_UNRECOGNIZED_PARAMETER (110) - ISDN_CAUSE_PROTOCOL_ERROR_UNSPECIFIED (111)

Erro no especificado - ISDN_CAUSE_INTERWORKING_UNSPECIFIED (127)

DG_ERROR_DRIVER_CLOSED: O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE: Parmetro porta foi passado com valor zero ou maior do que o nmero de portas instaladas DG_EXIT_FAILURE: Falha no envio do comando para a placa DG_FEATURE_NOT_SUPPORTED: Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1 DG_ERROR_PORT_IS_NOT_IN_USE: A porta no est atendida Veja Tambm: OnBusyDetected, ReturnCodeToStringCauseBusy.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

242

Guia de Referncia
Funes/Mtodos

GetCallerID (dg_GetCallerID)

Recupera o nmero de A quando utilizado as threads de controle R2D MFC, ISDN PRI e Logger. Declaraes: ActiveX: BSTR GetCallerID(SHORT Port); API: short dg_GetCallerId(short port, char *szCallerID); Descrio: Para recuperar o nmero de quem chamou (CallerID) necessrio chamar este mtodo. Os eventos pertinentes s threads de controle sinalizaro quando a informao estiver disponvel. Nas placas FXO/FXS/GSM, quando utilizado o mtodo IdleStart, o GetCallerID pode ser chamado no evento OnCallerID para se obter o nmero identificado. Parmetros: Port Porta onde deve ser lida a sinalizao szCallerID (API) null terminated string que receber o nmero Valores de Retorno: ActiveX: Retorna uma string com os dgitos ou nulo caso no haja nmero disponvel API:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

243

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso API / Active X: DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

244

Guia de Referncia
Funes/Mtodos

GetCardBus (dg_GetCardBus)

Recupera bus pci da placa Declaraes: ActiveX: LONG GetCardBus(SHORT Card); API: unsigned int dg_GetCardBus(short card);

Descrio: Este mtodo devolve o bus do barramento PCI da motherboard onde a placa est instalada. Parmetros: Card Valor da placa (1 a n) Valores de Retorno: Valor relativo ao bus do barramento PCI ou zero em caso de erro

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

245

Guia de Referncia
Funes/Mtodos GetCardInfo (dg_GetCardInfo)

Informa dados sobre a placa. Declaraes: ActiveX: SHORT GetCardInfo(SHORT Card, LPCTSTR CardInfo); API: short dg_GetCardInfo(short card, char *szCardInfo);

Descrio: Dados informados: Nome da placa, quantidade de canais, tipo de barramento (PCI, PCIe...), tipo de conector (BNC, RJ45...) e interface (E1, FXO...) Parmetros: Card Valor da placa (1 a n) CardInfo - Armazena as informaes sobre a placa Valores de Retorno: Se o retorno for sucesso retorna as informaes sobre a placa no parmetro CardInfo DG_EXIT_SUCCESS - Comando executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

246

Guia de Referncia
Funes/Mtodos GetCardInterface (dg_GetCardInterface)

Recupera tipo de placa. Declaraes: ActiveX: LONG GetCardInterface(SHORT Card); API: short dg_GetCardInterface(short card);

Descrio: Este mtodo devolve o tipo de placa, indicando se placa FXO/FXS/GSM ou placa digital. O mtodo GetCardType devolve o modelo da placa, mas como existe mais de um modelo de placa E1, a utilizao do GetCardInterface facilita a tarefa de saber o tipo da placa, independente do cdigo do modelo. Parmetros: Card Valor da placa (1 a n) Valores de Retorno: Se o retorno for succeso: DG_DIGITAL_INTERFACE (1) DG_FXO_INTERFACE (2) DG_FX_INTERFACE(3) DG_GSM_INTERFACE(4) DG_UNKNOWN_INTERFACE (99) DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro card fora do intervalo de placas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

247

Guia de Referncia
Funes/Mtodos GetCardNumber (dg_GetCardNumber)

Retorna a placa de um determinada porta absoluta Declaraes: ActiveX: SHORT GetCardNumber(SHORT AbsolutePort); API: short dg_GetCardNumber(short absoluteport); Descrio: Retorna o nmero da placa de acordo com a porta absoluta passado no parmetro. Por exemplo, a porta 61 pode ser a porta relativa 1 da segunda placa de 60 canais. Parmetros: AbsolutePort Indica a valor da porta Valor de Retorno: Nmero da placa maior ou igual a um em caso de sucesso Zero em caso de erro

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

248

Guia de Referncia
Funes/Mtodos GetCardPortsCount (dg_GetCardPortsCount)

L a quantidade de portas de uma determinada placa Declaraes: ActiveX: SHORT GetCardPortsCount(SHORT Card); API: short dg_GetCardPortsCount(short card); Descrio: Retorna o nmero de portas de uma determinada placa. Parmetros: Card Indica a placa que se deseja saber a quantidade de canais Valor de Retorno: Nmero de portas instaladas, ou zero para nenhuma.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

249

Guia de Referncia
Funes/Mtodos GetCardsCount (dg_GetCardsCount)

L a quantidade de placas disponveis. Declaraes: ActiveX: SHORT GetCardsCount(void); API: short dg_GetCardsCount(void); Descrio: O mtodo GetCardsCount retorna o nmero de placas instaladas no sistema. Valor de Retorno: Nmero de placas instaladas, ou zero para nenhuma.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

250

Guia de Referncia
Funes/Mtodos GetCardSlot (dg_GetCardSlot)

Recupera slot pci da placa Declaraes: ActiveX: LONG GetCardSlot(SHORT Card); API: unsigned int dg_GetCardSlot(short card);

Descrio: Este mtodo devolve o slot do barramento PCI da motherboard onde a placa est instalada. Parmetros: Card Valor da placa (1 a n) Valores de Retorno: Valor relativo ao slot do barramento PCI ou zero no caso de erro

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

251

Guia de Referncia
Funes/Mtodos GetCardType (dg_GetCardType)

Recupera o tipo da placa Declaraes: ActiveX: SHORT GetCardType(SHORT Card); API: short dg_GetCardType(short card); Descrio: Este mtodo devolve o cdigo do modelo da placa (1 a n) Parmetros: Card Valor da placa (1 a n) Valores de Retorno: Caso seja retornado sucesso: VBE13060PCI - Placa E1 3060 PCI VBE16060PCI - Placa E1 60 canais PCI VB6060PCIE - Placa E1 60 canais PCI Express VBE13030PCI - Placa E1 30 canais PCI VB3030PCIE - Placa E1 30 canais PCI Express VB0408PCI - Placa FXO de 4/8 canais VB0408PCIE - Placa FXO de 4/8 canais PCI Express VB0404FX - Placa FXS de 4 canais VB0404FX_R - Placa FXS de 4 canais com reviso VB0404GSM - Placa GSM de 2/4 canais VB1224PCIE - Placa para gravao DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

252

Guia de Referncia
Funes/Mtodos
DG_ERROR_CARD_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

GetDigits (dg_GetDigits)

Inicia a espera de uma sequncia de dgitos. Declaraes: ActiveX: SHORT GetDigits(SHORT Port, SHORT MaxDigits, LPCTSTR TermDigits, LONG DigitsTimeOut, LONG interDigitsTimeOut); API: short dg_GetDigits(short port, short maxdigits, char *termdigits, long digitstimeout, long interdigitstimeout); Descrio: O mtodo GetDigits permite iniciar a espera de um conjunto de dgitos, por um determinado tempo ou at receber um dgito finalizador. Como a VoicerLib tem um processamento assncrono, aps a execuo de GetDigits, necessrio tratar o resultado no evento OnDigitsReceived, o que pode acontecer segundos mais tarde. Para recuperar os dgitos detectados utilize o mtodo ReadDigits. Ao executar o GetDigits, o programa segue seu fluxo normal, isto , no fica esperando a execuo do GetDigits at o fim. Para interromper a execuo do GetDigits, deve ser chamado o CancelGetDigits. Esta uma prtica importante ao terminar uma ligao. Caso seja necessrio, o mtodo ClearDigits deve ser chamado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

253

Guia de Referncia
Funes/Mtodos
para apagar o buffer de dgitos, antes da execuo do GetDigits. Parmetros: Port Indica a porta da placa MaxDigits Nmero mximo de dgitos permitido. Utilize esta propriedade para limitar o nmero de dgitos que o usurio poder teclar. TermDigits uma string contendo um ou mais dgitos, que ao serem detectados finaliza a execuo do GetDigits e gera o evento OnDigitsReceived. Se qualquer dgito puder interromper utilize o smbolo "@" ao invs de colocar "0123456789#*", apesar de a segunda forma tambm estar correta. Se no houver dgito finalizador, passar "" (vazio). importante ressaltar que este parmetro uma string terminada em nulo. DigitsTimeOut Refere-se ao tempo mximo de espera pelo primeiro dgito programado no GetDigits. Caso seja detectado o primeiro dgito, este timeout no ocorrer mais. InterDigitsTimeOut - o tempo mximo que o GetDigits esperar de intervalo entre cada dgito. Aps este tempo, ser gerado o evento OnDigitsReceived como cdigo correspondete ao time-out interdgito. Em milissegundos. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

254

Guia de Referncia
Funes/Mtodos GetDriverEnabled (dg_GetDriverEnabled)

Indica se a VoicerLib est inicializada. Declaraes: ActiveX: VARIANT_BOOL GetDriverEnabled(void); API: short dg_DriverEnabled(void); Descrio: Este mtodo permite saber se a VoicerLib j foi inicializada atravs do mtodo StartVoicerLib. Valores de Retorno: Na verso ActiveX o retorno do tipo booleano (true ou false). J a verso API tem como retorno zero (false) e um (true).

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

255

Guia de Referncia
Funes/Mtodos GetE1Number (dg_GetE1Number)

L o nmero recebido durante a troca de sinalizao R2D em uma chamada entrante Declaraes: ActiveX: BSTR GetE1Number(SHORT Port); API: short dg_GetE1Number(short port, char *szNumber); Descrio: Este mtodo retorna uma string contendo o nmero recebido durante a troca de sinalizao. Deve ser chamado quando chegar o evento OnE1StateChange com o status C_NUMBER_RECEIVED. Este nmero pode chegar em partes, dependendo de como est configurado o recebimento da identificao de A atravs do mtodo ConfigE1Thread. Se a thread for configurada para receber a identificao de A a partir do segundo dgito recebido, sero gerados dois eventos OnE1StateChange com o status C_NUMBER_RECEIVED: o primeiro receber os dois primeiros dgitos e o segundo evento receber o resto. A aplicao final dever tratar isso. Se a thread de logger estiver sendo utilizada ao invs da thread E1, este mtodo poder ser chamado quando o evento OnLoggerEvent com status LOGGER_LINEREADY (Incio da ligao).

Parmetros: Port Porta onde deve ser lida a sinalizao.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

256

Guia de Referncia
Funes/Mtodos
szNumber (API) null terminated - string que receber o nmero Valores de Retorno: ActiveX: Retorna uma string com os dgitos ou nulo caso no haja nmero disponvel API: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_THREAD_NOT_RUNNING - Thread de Logger ou E1 no est em execuo DG_ERROR_THREAD_DISABLED - A thread ISDN est desabilitada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

257

Guia de Referncia
Funes/Mtodos GetE1ThreadStatus (dg_GetE1ThreadStatus)

Retorna o status da thread R2 da porta especificada. Declaraes: ActiveX: SHORT GetE1ThreadStatus(short port); API: short dg_GetE1ThreadStatus(short port); Descrio: Este mtodo indica se a thread R2D MFC est habilitada ou desabilitada. Parmetros: Port Indica a porta da placa Valor de Retorno: Caso o retorno seja sucesso: DG_E1_THREAD_ENABLE = 1 ou DG_E1_THREAD_DISABLE = 0 DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

258

Guia de Referncia
Funes/Mtodos GetISDNThreadStatus (dg_GetISDNThreadStatus)

Retorna o status da thread ISDN da placa e span especificados. Declaraes: ActiveX: SHORT GetISDNThreadStatus(SHORT Card, SHORT Framer); API: short dg_GetISDNThreadStatus(short card, short framer);

Descrio: Este mtodo indica se a thread ISDN est habilitada ou desabilitada. Parmetros: Card - Indica qual placa ser solicitado o status Framer - Indica o span da placa que ser solicitado o status Valores de Retorno: DG_EXIT_SUCCESS : Retorna o status da thread ISDN DG_ERROR_DRIVER_CLOSED: O driver no foi iniciado DG_ERROR_CARD_OUT_OF_RANGE: Parmetro placa foi passado com valor zero ou maior do que o nmero de placas instaladas DG_ERROR_PARAM_OUTOFRANGE: Parmetro Framer fora do valor especificado DG_FEATURE_NOT_SUPPORTED: Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

259

Guia de Referncia
Funes/Mtodos GetLibVersion (dg_GetLibVersion)

Informa o nmero de verso da OCX e/ou da DLL. Declaraes: ActiveX: SHORT GetVersion(LONG szVersion, SHORT nInfo); API: short dg_GetVersion(char* szVersion, short nInfo);

Descrio: Este mtodo permite saber qual a verso da OCX e da DLL da VoicerLib. Parmetros: szVersion Retorna a verso da VoicerLib atual da mquina nInfo - 0 se quiser saber a verso da DLL e 1 para saber a verso da OCX da VoicerLib Valores de Retorno: Retorna o nmero da verso em caso de sucesso ou zero em caso de erro

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

260

Guia de Referncia
Funes/Mtodos GetLoggerCallType (dg_GetLoggerCallType)

L o tipo da ligao em determinada porta de logger. Declaraes: ActiveX: SHORT GetLoggerCallType(SHORT Port); API: short dg_GetLoggerCallType(short port); Descrio: Este mtodo indica se uma ligao monitorada pela thread de logger entrante ou sainte. O sentido da ligao depender da conexo fsica dos cabos. Consulte o captulo sobre gravao em paralelo para maiores detalhes. Parmetros: Port Indica a porta da placa Valor de Retorno: Em caso de sucesso retorna: INCOMINGCALL = 1 ou OUTGOINGCALL = 2

DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_THREAD_NOT_RUNNING - A thread de logger no foi inicializada ainda

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

261

Guia de Referncia
Funes/Mtodos GetNameID (dg_GetNameID)

Recupera o nome do assinante chamador quando diponvel no sistema FSK e no protocolo ISDN PRI. Declaraes: ActiveX: BSTR GetNameID(SHORT Port); API: short dg_GetNameId(short port, char *szNameID); Descrio: Para recuperar o nome de quem chamou necessrio chamar este mtodo aps o evento OnCallerID.

Parmetros: ActiveX Port Porta onde deve ser lida a sinalizao API szNameID (API) null terminated string que receber o nome Valores de Retorno: ActiveX: Retorna no campo NameID uma string com o nome ou nulo caso no haja nmero disponvel API:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

262

Guia de Referncia
Funes/Mtodos
Em caso de sucesso retorna o nome na varivel szNameID DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

263

Guia de Referncia
Funes/Mtodos

GetPlayFormat (dg_GetPlayFormat)

Recupera o formato de reproduo de uma porta. Declaraes: ActiveX: SHORT GetPlayFormat(SHORT Port); API: short dg_GetPlayFormat(short port); Descrio: O mtodo GetPlayFormat retorna o formato de reproduo configurado para determinada porta. Parmetros: Port Indica a porta da placa. Valores de Retorno: 0 - ffWaveULaw (Lei mi) 1 - ffSig (obsoleto) 2 - ffWavePCM 3 - ffGsm610 4 - ffWaveALaw (Lei A) 5 - ffWave49 DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

264

Guia de Referncia
Funes/Mtodos GetPortCardType (dg_GetPortCardType)

Recupera o tipo da placa atravs do nmero da porta Declaraes: ActiveX: SHORT GetPortCardType(SHORT Port); API: short dg_GetPortCardType(short port); Descrio: Este mtodo devolve o cdigo do modelo da placa de uma determinada porta. Com isso possvel saber que tipo de placa tem determinada porta. Parmetros: Port Indica a porta da placa Valores de Retorno: VBE13060PCI - Placa E1 3060 PCI VBE16060PCI - Placa E1 60 canais PCI VB6060PCIE - Placa E1 60 canais PCI Express VBE13030PCI - Placa E1 30 canais PCI VB3030PCIE - Placa E1 30 canais PCI Express VB0408PCI - Placa FXO de 4/8 canais VB0408PCIE - Placa FXO de 4/8 canais PCI Express VB0404FX - Placa FXS de 4 canais VB0404FX_R - Placa FXS de 4 canais com reviso VB0404GSM - Placa GSM de 2/4 canais VB1224PCIE - Placa para gravao DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

265

Guia de Referncia
Funes/Mtodos
DG_ERROR_CARD_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

266

Guia de Referncia
Funes/Mtodos

GetPortInterface (dg_GetPortInterface)

Recupera tipo de placa de uma determinada porta. Declaraes: ActiveX: SHORT GetPortInterface(SHORT Port); API: short dg_GetPortInterface(short port);

Descrio: Este mtodo devolve o tipo de placa de uma determinada porta, indicando se placa FXO/FX/GSM ou digital. O mtodo GetCardType devolve o modelo da placa, mas como existe mais de um modelo de placa E1, a utilizao do GetCardInterface facilita a tarefa de saber se a placa digital/FXO/FXS/GSM, independente do cdigo do modelo. Parmetros: Port Indica a porta da placa Valores de Retorno: DG_DIGITAL_INTERFACE (1) DG_FXO_INTERFACE (2) DG_FX_INTERFACE (3) DG_GSM_INTERFACE(4)

DG_FXS_INTERFACE(5)
DG_UNKNOWN_INTERFACE (99)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

267

Guia de Referncia
Funes/Mtodos GetPortsCount (dg_GetPortsCount)

L a quantidade de portas disponveis. Declaraes: ActiveX: SHORT GetPortsCount(void); API: short dg_GetPortsCount(void); Descrio: O mtodo GetPortsCount retorna o nmero de portas instaladas no sistema, somatria de todas as portas de todas as placas. Valor de Retorno: Nmero de portas instaladas, ou zero para nenhuma.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

268

Guia de Referncia
Funes/Mtodos GetPortStatus (dg_GetPortStatus)

Recupera o status da porta especificada. Declaraes: ActiveX: SHORT GetPortStatus(SHORT Port); API: short dg_GetPortStatus(short port); Descrio: Este mtodo permite saber o que a porta especificada est executando em um determinado momento. Parmetros: Port Indica a porta da placa Valores de Retorno: spFlashing - Executando um Flash spDialing - Discando spNone - Ocioso spWaitingDigits - Esperando Dgitos spOffHook - Indicando "fora do gancho" quando utilizada a thread E1 DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

269

Guia de Referncia
Funes/Mtodos GetRecordFormat (dg_GetRecordFormat)

Recupera o formato de gravao de uma porta. Declaraes: ActiveX: SHORT GetRecordFormat(SHORT Port); API: short Descrio: O mtodo GetRecordFormat retorna o formato de gravao configurado para determinada porta. Parmetros: Port Indica a porta da placa. Valores de Retorno: 0 - ffWaveULaw (Lei mi) 1 - ffSig (obsoleto) 2 - ffWavePCM 3 - ffGsm610 4 - ffWaveALaw (Lei A) 5 - ffWave49 DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas dg_GetRecordFormat(short port);

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

270

Guia de Referncia
Funes/Mtodos GetRelativeChannelNumber (dg_getRelativeChannelNumber)

Converte o nmero de porta absoluto para o nmero relativo placa Declaraes: ActiveX: SHORT GetRelativeChannelNumber(SHORT AbsolutePort); API: short dg_GetRelativeChannelNumber(short absoluteport); Descrio: Converte o nmero de porta absoluto para o nmero relativo placa. Por exemplo, a porta 61 pode ser a porta relativa 1 da segunda placa de 60 canais. Parmetros: AbsolutePort Indica a valor da porta Valor de Retorno: Nmero de porta relativa placa, maior ou igual a um. Caso de erro retorna zero

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

271

Guia de Referncia
Funes/Mtodos GetText (dg_GetText)

Retorna uma mensagem de texto recebida pela VoicerLib (protocolo ISDN PRI). Declaraes: ActiveX: SHORT GetText(SHORT Port, LPCTSTR Text) API: short dg_GetText(short port, char *szText);

Descrio Aps receber o evento OnText necessrio chamar este mtodo para obter o texto. O texto no exceder 128 caracteres, no conter acentuao nem caracteres especiais, sero compostas de caracteres ANSI (tabela ASCII Normal). Parmetros: Port - Indica a porta que recebeu a mensagem Text - Indica o texto recebido Valores de Retorno: DG_EXIT_SUCCESS: Executou com sucesso DG_ERROR_DRIVER_CLOSED: O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE: Parmetro porta foi passado com valor zero ou maior do que o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

272

Guia de Referncia
Funes/Mtodos GetVersion (dg_GetVersion)

Pede o nmero de verso do firmware Declaraes: ActiveX: SHORT GetVersion(SHORT Card) API: short dg_GetVersion(short card);

Descrio: Este mtodo permite saber qual a verso do firmware da placa. Pode ser til para rastreamento de atualizaes Parmetros: Card Indica a placa que se deseja saber a verso do firmware Valores de Retorno: Retorna o nmero da verso em caso de sucesso ou zero em caso de erro

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

273

Guia de Referncia
Funes/Mtodos GSMCallControl (dg_GSMCallControl)

Este comando executa as funes de atendimento de segunda chamada e conferncia nos mdulos. Essas funcionalidades dependem dos servios operadora de telefnia mvel. Declaraes: ActiveX: SHORT GSMCallControl(SHORT Port,SHORT command, SHORT call); API: SHORT dg_GSMCallControl(short port, short command, short call); Parmetros: Port - Indica a porta da placa command - Qual funo ser executada GSM_RELEASE_CALLS - Libera todas as chamadas em espera: - Se uma chamada est chamando (waiting), libera a chamada. O chamador receber indicao de Ocupado. - Ou termina todas as chamadas em espera (hold). GSM_TERMINATE_AND_ACCEPT - Termina todas as chamadas ativas (se houver) e aceita "a outra chamada" como chamada ativa: - Se uma chamada est chamando(waiting), a chamada ser aceita. - Ou , se uma chamada est em espera (held) , esta se tornar a chamada ativa. 1+call- Termina uma chamada especfica (call com call=1-7). A chamada pode estar ativa, em espera (held) ou chamando (waiting): O outro assinante receber indicao de

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

274

Guia de Referncia
Funes/Mtodos
queda de ligao. GSM_PUT_ON_HOLD - Coloca todas as chamadas ativas em espera(HOLD) e aceita " a outra chamada" como ativa: - Se a chamada est chamando(waiting), esta ser aceita. - Seno, se uma chamada em espera(held) est presente, a mesma se tornar ativa. 2+call Coloca todas as chamadas ativas, exceto a chamada call (call=1-7) em espera (Hold). GSM_CONFERENCE -Adiciona uma chamada em espera(held) a uma chamada ativa para incio de chamada em conferncia. Ex. A - Assinante 1 B - Assinante 2 C - Assinante 3 D - Porta 1 VB0404GSM A Liga para D D recebe o evento OnCallerID. L o nmero de A com mtodo GetCallerID. D atende chamada (mtodo PickUp) B Liga para D D recebe o evento OnGSMOtherCall. L o nmero de B com o mtodo GetCallerID. D coloca A em espera(Hold) e atende B com o mtodo GSMCallControl - GSM_PUT_ON_HOLD. A recebe tom de chamando. D coloca B em espera(Hold) e fala com A com o mtodo GSMCallControl - GSM_PUT_ON_HOLD. B recebe tom de chamando. D faz conferncia com A e B com o mtodo GSMCallControl GSM_CONFERENCE. C Liga para D D recebe o evento OnGSMOtherCall. L o nmero de C com o mtodo GetCallerID. D atende C com o mtodo GSMCallControl GSM_PUT_ON_HOLD.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

275

Guia de Referncia
Funes/Mtodos
D faz conferncia com A,B e C com o mtodo GSMCallControl GSM_CONFERENCE. D derruba todos com GSMCallControl - GSM_RELEASE_CALLS. call - Qual chamada ser afetada pelo parmetro command

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

276

Guia de Referncia
Funes/Mtodos GSMCheckSignalQuality (dg_GSMCheckSignalQuality )

Este comando fora o mdulo GSM correspondente a porta especificada, verificar o nvel de sinal recebido na antena. Ao obter o nvel de sinal ser gerado um evento OnGSMSignalQuality aps o qual dever ser chamado o mtodo GSMGetSignalQuality. Este mtodo no deve ser chamado durante uma discagem, somente antes de uma discagem e aps o atendimento de uma chamada). Declaraes: ActiveX: SHORT GSMCheckSignalQuality(SHORT Port); API: SHORT dg_GSMCheckSignalQuality(short port); Parmetros: Port - Indica a porta da placa. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Veja tambm: GSMGetSignalQuality.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

277

Guia de Referncia
Funes/Mtodos GSMClearAllSMS (dg_GSMClearAllSMS)

Este comando l a quantidade de mensagens do mdulo, e se o segundo parmetro estiver 1, apaga todas as mensagens SMS do mdulo GSM correspondente a porta especificada. Aps o envio do comando o evento OnGSMMemory ser gerado. Para obter a quantidade de mensagens no mdulo GSM utilize o mtodo GSMGetMemory aps o evento OnGSMMemory. Declaraes: ActiveX: SHORT GSMClearAllSMS(SHORT Port, SHORT flagClear); API: SHORT dg_GSMClearAllSMS(short port, short flagClear); Parmetros: Port - Indica a porta da placa. flagClear - Indica se apaga ou no todas as mensagens armazenadas. 0 - Somente mostra a quantidade de mensagens e no as apaga do mdulo 1 - L a quantidade de mensagens do mdulo e as apaga Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

278

Guia de Referncia
Funes/Mtodos GSMDeleteSMS (dg_GSMDeleteSMS)

Apaga mensagem SMS do mdulo GSM. Este comando necessita que seja indicado o ndice da mensagem SMS na porta especificada, para que possa apaga-l do mdulo GSM. Para saber quais os ndices das mensagens, consultar o mtodo GSMListSMS para obter a lista dos ndices.

Declaraes: ActiveX: SHORT GSMDeleteSMS(SHORT Port, SHORT Index); API: SHORT dg_GSMDeleteSMS(short port, short Index); Parmetros: Port - Indica a porta da placa. ndice - Indica o nmero correspondente a mensagem SMS. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

279

Guia de Referncia
Funes/Mtodos GSMGetIndexList (dg_GSMGetIndexList)

Recupera a lista dos ndices das mensagens SMS do mdulo GSM. Deve ser chamado no evento OnGSMReturnOK, para o Status GSM_LIST. Declaraes: ActiveX: SHORT GSMGetIndexList(SHORT Port, LPCTSTR szMessage); API: SHORT dg_GSMGetIndexList(short port, char *szMessage); Parmetros: Port - Indica a porta da placa. szMessage - String com a lista dos ndices das mensagens SMS armazenadas no mdulo GSM. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

280

Guia de Referncia
Funes/Mtodos GSMGetLastCommand (dg_GSMGetLastCommand)

Um evento OnGSMMessage enviado sempre que uma mensagem vlida, no necessariamente SMS, recebida pelo mdulo GSM. Com esse evento possvel saber tambm, qual foi o ltimo comando enviado para a placa, com o mtodo GSMGetLastCommand. Declaraes: ActiveX: SHORT GsmGetLastCommand(SHORT Port, LPCTSTR szCommand); API: SHORT dg_GsmGetLastCommand(short port, char *szCommand); Parmetros: Port - Indica a porta da placa szCommand - String onde o ltimo comando enviado ser copiado pelo mtodo Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

281

Guia de Referncia
Funes/Mtodos GSMGetMemory (dg_GSMGetMemory)

Esse mtodo disponibiliza ao usurio a quantidade de mensagens SMS no mdulo GSM aps o recebimento do evento OnGSMMemory. Esse mtodo informa a quantidade atual de mensagens e a capacidade mxima que o mdulo especificado pode receber. Declaraes: ActiveX: SHORT GsmGetMemory(SHORT Port, LPCTSTR szMessage); API: SHORT dg_GsmGetMemory(short port, char *szMessage); Parmetros: Port - Indica a porta da placa szMessage - String com a quantidade de mensagens e a capacidade mxima do chip (SIM Card). Por exemplo: 2,40 ( Possui 2 mensagens armazenadas, e a capacidade mxima de 40) Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

282

Guia de Referncia
Funes/Mtodos GSMGetMessage (dg_GSMGetMessage)

Um evento OnGSMMessage enviado sempre que uma mensagem vlida, no necessariamente SMS, recebida pelo mdulo GSM. As mensagens recebidas podem ser obtidas pelo mtodo GSMGetMessage.Este mtodo deve ser usado para fins de debug. Declaraes: ActiveX: SHORT GsmGetMessage(SHORT Port, LPCTSTR szMessage); API: SHORT dg_GsmGetMessage(short port, char *szMessage); Parmetros: Port - Indica a porta da placa szMessage - String onde a mensagem recebida ser copiada pelo mtodo Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

283

Guia de Referncia
Funes/Mtodos GSMGetSignalQuality (dg_GSMGetSignalQuality)

Recupera a string com o valor da qualidade do sinal aps o recebimento do evento OnGSMSignalQuality . Declaraes: ActiveX: SHORT GsmGetSignalQuality(SHORT Port, LPCTSTR szMessage); API: SHORT dg_GsmGetSignalQuality(short port, char *szMessage); Parmetros: Port - Indica a porta da placa szMessage - Os valores podem variar de 0 a 31, sendo 0 igual ou inferior a -113 dBm e 31 igual ou superior a -51 dBm. O valor 99 indica que o sinal no pode ser detectvel.

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas Veja tambm: GSMCheckSignalQuality.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

284

Guia de Referncia
Funes/Mtodos GSMGetSMS (dg_GSMGetSMS)

Permite ler uma mensagem SMS recebida. Este este mtodo deve ser chamado no recebimento do evento que avisa que uma mensagem SMS foi recebida (OnGSMSMSReceived) Declaraes: ActiveX: SHORT GsmGetSMS(SHORT Port, LPCTSTR szMessage); API: SHORT dg_GsmGetSMS(short port, char *szMessage); Parmetros: Port - Indica a porta da placa szMessage - Mensagem recebida. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas Veja tambm: GSMSendSMS.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

285

Guia de Referncia
Funes/Mtodos GSMGetSMSConfirmation (dg_GSMGetSMSConfirmation)

Permite ler a string de confirmao do recebimento de uma mensagem SMS por parte do destinatrio. Este este mtodo deve ser chamado no evento que confirma o recebimento de uma mensagem SMS por parte do destinatrio (OnGSMSMSConfirmation). Declaraes: ActiveX: SHORT GsmGetSMSConfirmation(SHORT Port, LPCTSTR szMessage); API: SHORT dg_GsmGetSMSConfirmation(short port, char *szMessage); Parmetros: Port - Indica a porta da placa szMessage - Mensagem de confirmao do destinatrio. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas Veja tambm: GSMSendSMS.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

286

Guia de Referncia
Funes/Mtodos GSMListSMS (dg_GSMListSMS)

Solicita ao mdulo GSM, a lista de mensagens GSM armazenadas em sua memria.. O parmetro Status representa quais tipos de mensagens sero listadas. Recomenda-se o uso do status ALL. Declaraes: ActiveX: SHORT GSMListSMS(SHORT Port, SHORT Status); API: SHORT dg_GSMListSMS(short port, short Status); Parmetros: Port - Indica a porta da placa. Status - Tipos de mensagens. - REC_UNREAD - Mensagens recebidas e no lidas - REC_READ - Mensagens recebidas e lidas - STO_UNSENT - Mensagens armanzenadas e no enviadas - STO_SENT - Mensagens armanzenadas e enviadas - ALL - Todas as mensagens Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

287

Guia de Referncia
Funes/Mtodos GsmRawToWave (dg_GsmRawToWave)

Converte arquivo de udio do formato GSMRaw (sem cabealho) para o formato Wave. Declaraes: ActiveX: SHORT GsmRawToWave(LPCTSTR Source, LPCTSTR Target); API: SHORT dg_GsmRawToWave(char *Source, char *Target); Parmetros: Source - String contendo o nome e o caminho completo do arquivo GsmRaw que ser convertido. Target - String contendo o nome e o caminho completo do arquivo Wave que ser gravado.

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CONV_SOURCE - Erro ao abrir o arquivo de origem DG_ERROR_CONV_TARGET - Erro ao abrir o arquivo de destino DG_ERROR_CONV - Erro indeterminado na converso Veja tambm: WaveToGsmRaw.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

288

Guia de Referncia
Funes/Mtodos GsmRawToWave49 (dg_GsmRawToWave49)

Converte arquivo de udio do formato GSMRaw (sem cabealho) para o formato Wave49 (GSM 6.10 modificado). Declaraes: ActiveX: SHORT GsmRawToWave49(LPCTSTR Source, LPCTSTR Target); API: SHORT dg_GsmRawToWave49(char *Source, char *Target) Parmetros: Source - String contendo o nome e o caminho completo do arquivo GsmRaw que ser convertido. Target - String contendo o nome e o caminho completo do arquivo Wave49 que ser gravado.

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CONV_SOURCE - Erro ao abrir o arquivo de origem DG_ERROR_CONV_TARGET - Erro ao abrir o arquivo de destino DG_ERROR_CONV - Erro indeterminado na converso Veja tambm: Wave49ToGsmRaw.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

289

Guia de Referncia
Funes/Mtodos GSMReadAndDeleteSMS (dg_GSMReadAndDeleteSMS)

Este comando l a mensagem SMS especificada pelo ndice e em seguida apaga a mensagem do mdulo GSM. Essa mensagem pode ser lida com o mtodo GSMGetSMS aps o recebimento do evento OnGSMSMSReceived . Declaraes: ActiveX: SHORT GSMReadAndDeleteSMS(SHORT Port, SHORT Index); API: SHORT dg_GSMReadAndDeleteSMS(short port, short Index); Parmetros: Port - Indica a porta da placa. ndice - Indica o nmero correspondente a mensagem SMS. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

290

Guia de Referncia
Funes/Mtodos GSMRestartPort (dg_GSMRestartPort)

Este comando reinicia o mdulo especificado pela porta. Declaraes: ActiveX: SHORT GSMRestartPort(SHORT Port); API: SHORT dg_GSMRestartPort(short port); Parmetros: Port - Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

291

Guia de Referncia
Funes/Mtodos GSMSendCommand (dg_GSMSendCommand)

Envia um comando ao mdulo GSM correspondente porta especificada. Declaraes: ActiveX: SHORT GsmSendCommand(SHORT Port, LPCTSTR szCommand); API: SHORT dg_GsmSendCommand(short port, char *szCommand); Descrio: Os mdulos GSM se comunicam com a VoicerLib atravs de um set de comandos conhecidos como comandos AT que foram estendidos para aplicaes GSM. Nem todos os comandos tem um mtodo correspondente na VoicerLib. O mtodo GsmSendCommand permite o envio de um string contendo qualquer comando AT aos mdulos GSM. O retorno dos mdulos ao comando enviado pode ser obtido com o mtodo GSMGetMessage, aps o recebimento do evento OnGSMMessage. Cuidado: O envio incorreto de comandos aos mdulos podem prejudicar seu funcionamento, portanto no use este comando se no tiver certeza do que estiver fazendo. Parmetros: Port - Indica a porta da placa szCommand - string contendo o comando AT a ser enviado ao mdulo GSM. Valor de Retorno:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

292

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

293

Guia de Referncia
Funes/Mtodos

GSMSendSMS (dg_GSMSendSMS)

Permite o envio de mensagem SMS nas portas correspondentes. Declaraes: ActiveX: SHORT GsmSendSMS(SHORT Port, LPCTSTR szNumber, LPCTSTR szMessage); API: SHORT dg_GsmSendSMS(short port, char *szNumber, char *szMessage); Descrio: A mensagem no pode exceder 160 caracteres e deve ser finalizada com '\0'. A mensagem poder conter CR (0xd) ou LF (0xa).As mensagens SMS devem ser compostas de caracteres ANSI pois sero automaticamente convertidas para carateres GSM pela VoicerLib antes do envio. Esta converso afeta caracteres especiais, principalmente acentuados. Se a mensagem for enviada com sucesso, o evento OnGSMSMSSent ser gerado indicando que a porta est pronta e disponvel para uma nova operao. Parmetros: Port - Indica a porta da placa szNumber - Nmero que vai receber a mensagem (destinatrio) szMessage - Mensagem que deseja enviar. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

294

Guia de Referncia
Funes/Mtodos
DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro szMessage fora do intervalo permitido - quantidade de caracteres excedeu 160. Veja tambm: GSMGetSMS.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

295

Guia de Referncia
Funes/Mtodos

GSMSetPinNumber (dg_GSMSetPinNumber)

Ao ser iniciada a thread GSM a VoicerLib consulta os mdulos GSM sobre a necessidade ou no do envio de PIN number ou PUK. Atualmente a maioria das operadoras no solicitam o PIN number a cada inicializao dos mdulos GSM. Se a operadora de telefonia mvel solicitar a validao com PIN number, o seu string dever estar disponvel antes da inicializao da thread GSM atravs do mtodo GsmSetPinNumber. Em alguns casos h a troca do PIN number e o novo valor deve ser passado, caso contrrio um valor nulo (NULL) deve ser colocado na passagem do parmetro. Declaraes: ActiveX: SHORT GsmSetPinNumber(SHORT Port, LPCTSTR szPIN, LPCTSTR szNewPIN); API: SHORT dg_GsmSetPinNumber(short port, char *szPIN, char *szNewPIN); Parmetros: Port - Indica a porta da placa szPIN - String contendo o PIN number atual. szNewPIN - String contendo o novo PIN number em caso de troca. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

296

Guia de Referncia
Funes/Mtodos GsmToWave (dg_GsmToWave)

Converte arquivo de udio do formato GSM para o formato Wave. Declaraes: ActiveX: SHORT GsmToWave(LPCTSTR Source, LPCTSTR Target); API: SHORT dg_GsmToWave(char *Source,char *Target); Parmetros: Source - String contendo o nome e o caminho completo do arquivo gsm que ser convertido. Target - String contendo o nome e o caminho completo do arquivo wave que ser gravado.

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CONV_SOURCE - Erro ao abrir o arquivo de origem DG_ERROR_CONV_TARGET - Erro ao abrir o arquivo de destino DG_ERROR_CONV - Erro indeterminado na converso Veja tambm: WaveToGsm.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

297

Guia de Referncia
Funes/Mtodos GsmToWave49 (dg_GsmToWave49)

Converte arquivo de udio do formato GSM para o formato Wave49 (GSM 6.10 modificado). Declaraes: ActiveX: SHORT GsmToWave49(LPCTSTR Source, LPCTSTR Target); API: SHORT dg_GsmToWave49(char *Source,char *Target); Parmetros: Source - String contendo o nome e o caminho completo do arquivo Gsm que ser convertido. Target - String contendo o nome e o caminho completo do arquivo Wave49 que ser gravado.

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CONV_SOURCE - Erro ao abrir o arquivo de origem DG_ERROR_CONV_TARGET - Erro ao abrir o arquivo de destino DG_ERROR_CONV - Erro indeterminado na converso Veja tambm: Wave49ToGsm.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

298

Guia de Referncia
Funes/Mtodos HangUp (dg_HangUp)

Libera a linha conectada a placa (desliga). Declaraes: ActiveX: SHORT HangUp(SHORT Port); API: short dg_HangUp(short port); Descrio: Ao chamar este mtodo, a linha desconectada e a porta liberada, equivalendo ao desligar do telefone. Na placa E1 o hangup faz com que a linha seja desconectada e liberada. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Porta especificada fora do intervalo de portas configuradas DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1 DG_ERROR_FIFO_UNAVAILABLE - Fifo de comunicao entre threads no est disponvel. Falta de memria pode ser a causa mais comum DG_ERROR_THREAD_NOT_RUNNING - A thread no est rodando ou no est habilitada DG_EXIT_FAILURE - Ocorre caso no seja possvel inserir

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

299

Guia de Referncia
Funes/Mtodos
comando na fila das threads de controle DG_ERROR_THREAD_DISABLED - A thread ISDN est desabilitada

Veja Tambm: Se o protocolo usado for ISDN PRI, ler o tpico SetHangUpCause.

IdleAbort (dg_IdleAbort)

Interrompe a execuo de uma funo de Idle. Declaraes: ActiveX: SHORT IdleAbort(SHORT Port); API: short dg_IdleAbort(short port);

Descrio: Ao chamar este mtodo a monitorao de linha para atendimento ser cancelada. Parmetros: Port Porta onde ser feita o cancelamento da monitorao Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

300

Guia de Referncia
Funes/Mtodos IdleSettings (dg_IdleSettings)

Configura a monitorao do estado de espera. Declaraes: ActiveX: SHORT IdleSettings(SHORT Port, VARIANT_BOOL AutoPickUp, SHORT RingCount, SHORT PauseAfterPickUp, VARIANT_BOOL WatchTrunkBefore, VARIANT_BOOL WatchTrunkAfter, SHORT Format, SHORT TimeOut, SHORT Max, LPCTSTR TermDigits); API: short WCDECL dg_IdleSettings(short port, u8 AutoPickUp, short RingCount, short PauseAfterPickUp, u8 WatchTrunkBefore, u8 WatchTrunkAfter,short Format, short TimeOut, short Max, char *TermDigits); Descrio: Esta funo configura as opes a serem monitoradas durante o estado de espera. Permite configurar deteco automtica de BINA (OnCallerID), atendimento automtico e integrao com o PABX Parmetros: Port Indica a porta da placa que ser monitorado AutoPickUp Indica se atende automtico ou no. (0/1 na API e TRUE/FALSE no ActiveX) RingCount Nmero de rings para o atendimento automtico PauseAfterPickUp Pausa aps o pickup WatchTrunkBefore Monitora a linha antes do atendimento. (0/1 na API e TRUE/FALSE no ActiveX) WatchTrunkAfter - Monitora a linha depois do atendimento. (0/1 na API e TRUE/FALSE no ActiveX) Format - wtDTMF, wtMFP, wtCustom Ver detalhes no captulo

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

301

Guia de Referncia
Funes/Mtodos
Funes Especiais. Timeout Timeout interdigito Max Nmero mximo de dgitos da sinalizao TermDigits Indica um ou mais dgitos como finalizadores. Valor de Retorno:

DG_EXIT_SUCCESS - Executado com sucesso


DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

302

Guia de Referncia
Funes/Mtodos IdleStart (dg_IdleStart)

Inicia a execuo de uma funo de Idle. Declaraes: ActiveX: SHORT IdleStart(SHORT Port); API: short dg_IdleStart(short port); Descrio: Ao chamar este mtodo, a funo de monitorao do estado de espera iniciada. O mtodo IdleSettings deve ser chamado com todas as configuraes necessrias antes de iniciar a monitorao. Parmetros: Port Porta onde ser feita a monitorao Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado

DG_ERROR_THREAD_ALREADY_RUNNING - A thread j havia sido iniciada anteriormente DG_ERROR_COULD_NOT_CREATE_THREAD - Falha na inicializao da thread
DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

303

Guia de Referncia
Funes/Mtodos IsCallInProgress

Indica se existe uma discagem em curso Declaraes: ActiveX: VARIANT_BOOL IsCallInProgress(SHORT Port); Descrio: Este mtodo permite saber se existe uma discagem em curso, iniciada pelo MakeCall. Parmetros: Port Indica a porta da placa que gerou o evento Valor de Retorno: True - Existe discagem em curso False - Nenhuma discagem em curso

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

304

Guia de Referncia
Funes/Mtodos IsPlaying (dg_IsPlaying)

Indica se a placa est reproduzindo alguma mensagem Declaraes: ActiveX: VARIANT_BOOL IsPlaying(SHORT Port); API: short IsPlaying(short port);

Descrio: Este mtodo permite ao desenvolvedor saber se a porta especificada est reproduzindo uma mensagem Parmetros: Port Indica a porta da placa Valores de Retorno: TRUE(1) - A placa est reproduzindo alguma mensagem FALSE(0)- A placa no est reproduzindo nenhuma mensagem ActiveX - TRUE ou FALSE API - 0 ou 1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

305

Guia de Referncia
Funes/Mtodos IsRecording (dg_IsRecording)

Indica se a placa est gravando alguma mensagem Declaraes: ActiveX: VARIANT_BOOL IsRecording(SHORT Port); API: short IsRecording(short port);

Descrio: Este mtodo permite ao desenvolvedor saber se a porta especificada est gravando uma mensagem Parmetros: Port Indica a porta da placa Valores de Retorno: TRUE(1) - A placa est gravando alguma mensagem FALSE(0)- A placa no est gravando nenhuma mensagem ActiveX - TRUE ou FALSE API - 0 ou 1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

306

Guia de Referncia
Funes/Mtodos LocalBridgeConnect (dg_LocalBridgeConnect)

Efetua uma conexo bi-direcional entre duas portas na placa E1. Declaraes: ActiveX: SHORT LocalBridgeConnect(SHORT Port1, SHORT Port2); API: short dg_LocalBridgeConnect(short port1, short port2); Descrio: Ao chamar este mtodo, a porta Port1 conectada em Port2 e vice-versa, permitindo que o udio seja enviado nos dois sentidos. Ambas as portas precisam pertencer mesma placa, obrigatoriamente. Parmetros: Port1 Indica a primeira porta Port2 Indica a segunda porta

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_FEATURE_NOT_SUPPORTED - Comando no suportado por este tipo de placa DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

307

Guia de Referncia
Funes/Mtodos LocalBridgeDisconnect (dg_LocalBridgeDisconnect)

Efetua uma desconexo de duas portas conectadas, em placas E1. Declaraes: ActiveX: SHORT LocalBridgeDisconnect(SHORT Port1, SHORT Port2); API: short dg_LocalBridgeDisconnect(short port1, short port2); Descrio: Ao chamar este mtodo, as duas portas voltam a ter o comportamento inicial, de antes de serem conectadas pelo LocalBridgeConnect Parmetros: Port1 Indica a primeira porta Port2 Indica a segunda porta

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

308

Guia de Referncia
Funes/Mtodos MakeCall

Inicia a discagem com superviso. Declaraes: ActiveX: SHORT MakeCall(SHORT Port, SHORT CallType, LPCTSTR Number, LPCTSTR InitialPhrase, VARIANT_BOOL WithAnalysis, SHORT DialType); Descrio: Este mtodo inicia a discagem com ou sem superviso conforme configurado pelos mtodos SetCallxxxxx. O trmino ser tratado no evento OnAfterMakeCall. Parmetros: Port Indica a porta da placa CallType ctExternal(0) ou ctWithFlash(1) Number String do nmero que ser discado InitialPhrase String da frase a ser reproduzida no incio do processo WithAnalysis True/False que indicar se a discagem ser com superviso (monitorar ocupado, etc...) ou sem (ligao entregue aps a discagem). DialType Define o tipo de discagem:dtPulse (pulso -> 0) /dtTone (tom -> 1). Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_DRIVER_CLOSED - Driver desabilitado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

309

Guia de Referncia
Funes/Mtodos MenuAbort

Interrompe a execuo de uma funo de Menu. Declaraes: ActiveX: SHORT MenuAbort(SHORT Port); Descrio: Ao chamar este mtodo a funo iniciada pelo MenuStart, ser interrompida para a porta especfica. Parmetros: Port Indica a porta da placa que gerou o evento Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

310

Guia de Referncia
Funes/Mtodos MenuErrorSettings

Configura as opes de menu Declaraes: ActiveX: SHORT MenuErrorSettings(SHORT Port, LPCTSTR InvalidDigitPhrase, SHORT InvalidDigitRetries, LPCTSTR TimeOutPhrase); Descrio: Tem a finalidade de configurar as frases e situaes de erro de entrada de dados das funes especiais de menu Parmetros: Port Indica a porta da placa InvalidDigitPhrase Frase utilizada em caso de opo invlida InvalidDigitRetries Nmero de tentativas TimeOutPhrase Frase a ser reproduzida caso o usurio no digite nada no tempo especificado no MenuStart. Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Um dos parmetros fora do intervalo permitido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

311

Guia de Referncia
Funes/Mtodos MenuStart

Inicia a funo de menu. Declaraes:

ActiveX:
SHORT MenuStart(SHORT Port, LPCTSTR PlayMessage, LPCTSTR ValidDigits, SHORT TimeOut, VARIANT_BOOL EnablePulseDetection, SHORT PulseSensibility); Descrio: Inicia a execuo de um menu. Aps sua execuo o mtodo OnMenu ser chamado devolvendo o dgito escolhido e o status. O parmetro PlayMessage pode receber um arquivo de udio literal ou "@" para executar uma lista de mensagens configurada pelas funes PlayListXXX. Parmetros: Port Indica a porta da placa Message Frase do menu ou "@" ValidDigits Dgitos considerados vlidos. Devem ser colocados todos os dgitos de opes vlidas sem separadores. Ex.: "235" TimeOut Tempo mximo para digitao da opo aps a frase definida em Message. EnablePulseDetection - Habilita(true)/Desabilita(false) deteco de pulse durante o funcionamento do Menu PulseSensibility - Esse parmetro permite alterar a sensibilidade de deteco de pulso, variando de -42dB at +12dB mas aconselha-se sempre passar zero, e variar o valor apenas caso haja algum problema na deteco de pulso. Retorno: DG_EXIT_SUCCESS - Executado com sucesso

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

312

Guia de Referncia
Funes/Mtodos
DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PLAY_INVALID_FILENAME - Nome de arquivo invlido no parmetro Message DG_ERROR_PARAM_OUTOFRANGE - Um dos parmetros fora do intervalo permitido DG_ERROR_PLAY_EMPTYLIST - Lista de mensagens vazia, no caso de passar "@" no parmetro PlayMessage

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

313

Guia de Referncia
Funes/Mtodos PauseInputBuffer (dg_PauseInputBuffer)

Interrompe temporariamente o envio de amostras entre a placa e a voicerlib Declaraes: ActiveX: SHORT PauseInputBuffer(SHORT Port, SHORT Paused); API: short dg_PauseInputBuffer(short port, short paused); Descrio: O mtodo PauseInputBuffer permite que o envio de amostras da placa para a aplicao fique em pausa. til quando o EnableInputBuffer chamado apenas no incio da aplicao e no a cada gravao, para evitar utilizao de processador desnecessria, principalmente quando se utiliza as callbacks para tratar as amostras diretamente para a aplicao. Parmetros: Port Indica a porta da placa Paused DG_PAUSE (1) coloca em pausa e DG_RELEASE (0) retira da pausa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso

DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado


DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

314

Guia de Referncia
Funes/Mtodos PickUp (dg_PickUp)

Atende a linha conectada a placa ou atende a porta para discar. Declaraes: ActiveX: SHORT PickUp(SHORT Port, LONG PauseAfterPickup); API: short dg_PickUp(short port, long pause_after_pickup); Descrio: Sempre que desejar tomar a linha conectada placa para originar uma ligao ou para atender uma ligao entrante, necessrio fazer uso do mtodo PickUp. Na placa E1 se houver uma ligao entrante o mtodo PickUp interpretado como atendimento. Caso contrrio, a porta ocupada para realizar uma ligao sainte. No protocolo R2D MFC quando a thread de controle E1 est habilitada, o PickUp interpretado com um pedido de ocupao da porta e se a thread de controle estiver habilitada o comportamento idntico ao da placa FXO. No protocolo ISDN PRI, se a porta especificada j tiver sido ocupada para uma ligao sainte, este mtodo retorna o valor de retorno DG_ERROR_PORT_ALREADY_IN_USE. A pausa aps o atendimento permite ao desenvolvedor continuar os procedimentos de atendimento aps um tempo especificado por este parmetro. Neste caso o evento OnAfterPickUp gerado aps decorrido este tempo.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

315

Guia de Referncia
Funes/Mtodos
Parmetros: Port Indica a porta da placa PauseAfterPickup - Pausa em milisegundos para gerar o evento OnAfterPickUp Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_EXIT_FAILURE - Ocorre caso no seja possvel inserir comando na fila das threads de controle. DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Porta especificada fora do intervalo de portas configuradas DG_ERROR_PARAM_OUTOFRANGE - PauseAfterPickUp menor que zero ou maior que 60000 ms DG_ERROR_PORT_ALREADY_IN_USE - A porta j esta ocupada (ISDN_SET_EXCLUSIVE_CHANNEL = DG_ENABLE) e/ou no h outras portas disponveis (ISDN_SET_EXCLUSIVE_CHANNEL = DG_DISABLE) DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1 DG_ERROR_FIFO_UNAVAILABLE - Fifo de comunicao entre threads no est disponvel. Falta de memria pode ser a causa mais comum DG_ERROR_THREAD_NOT_RUNNING - A thread no est rodando ou no est habilitada DG_ERROR_THREAD_DISABLED - A thread ISDN est desabilitada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

316

Guia de Referncia
Funes/Mtodos

PlayBuffer (dg_PlayBuffer)

Insere um vetor de amostras diretamente na placa Declaraes: ActiveX: SHORT PlayBuffer(SHORT Port, LONG Samples, SHORT SamplesSize, LONG remaining_size); API: short dg_PlayBuffer(short port, void *Samples, short samples_size, int *remaining_size); Descrio: O PlayBuffer permite inserir diretamente na porta indicada um array de amostras de udio a ser reproduzida pela placa. Este array pode ter at 8192 bytes, portanto o valor de samples_size no poder ultrapassar este limite. Tambm possvel passar um ponteiro para um inteiro e se este ponteiro for fornecido, a quantidade de bytes livres ser retornada na parmetro remaining_size. A forma de utilizao e as tcnicas de programao deste mtodo so discutidas no Guia do Programador, no tpico Streaming de udio. (*) No possvel enviar amostras para a placa enquanto um arquivo estiver sendo reproduzido nesta mesma porta. Parmetros: Port Indica a porta para onde as amostras sero enviadas Samples Vetor contendo as amostras a serem enviadas SamplesSize - Tamanho do vetor Samples

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

317

Guia de Referncia
Funes/Mtodos
remaining_size - Retorna a quantidade de bytes livres no buffer

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_ALREADY_PLAYING - Uma reproduo j est em andamento DG_ERROR_PARAM_OUTOFRANGE - samples_size maior que o tamanho do buffer (8Kbytes)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

318

Guia de Referncia
Funes/Mtodos PlayCardinal

Permite reproduzir numerais cardinais inteiros ou fracionrios por extenso. Declaraes: ActiveX: SHORT PlayCardinal(SHORT Port, LPCTSTR Value, LPCTSTR TermDigits, LONG PauseBefore); Parmetros: Port Indica a porta da placa Value Uma string ou varivel contendo o nmero a ser reproduzido. No deve utilizar ponto como separador de milhares e necessrio utilizar a vrgula como separador decimal TermDigits - uma string contendo um ou mais dgitos, que ao serem detectados finaliza a reproduo das mensagens e gera os eventos OnPlayStop e OnDigitsReceived. PauseBefore Indica uma pausa de n milisegundos antes de iniciar a reproduo Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

319

Guia de Referncia
Funes/Mtodos PlayCurrency

Permite reproduzir valores monetrios por extenso. Declaraes: ActiveX: SHORT PlayCurrency(SHORT Port, LPCTSTR Value, LPCTSTR TermDigits, LONG PauseBefore); Parmetros: Port Indica a porta da placa Value Uma string ou varivel contendo o valor a ser reproduzido. No deve utilizar ponto como separador de milhares e necessrio utilizar a vrgula como separador decimal TermDigits - uma string contendo um ou mais dgitos, que ao serem detectados finaliza a reproduo das mensagens e gera os eventos OnPlayStop e OnDigitsReceived. PauseBefore Indica uma pausa de n milisegundos antes de iniciar a reproduo Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

320

Guia de Referncia
Funes/Mtodos PlayDate

Permite reproduzir data por extenso Declaraes: ActiveX: SHORT PlayDate(SHORT Port, LPCTSTR Value, LPCTSTR Mask, LPCTSTR TermDigits, LONG PauseBefore); Parmetros: Port Indica a porta da placa. Value Uma string ou varivel contendo a data a ser reproduzida. Obrigatoriamente deve ser utilizado a barra "/" como separador. Mask Mscara utilizada que indica o formato da data. Pode assumir os seguintes valores: d/m/y Ex.: "25 de setembro de 2009" d/m Ex.: "25 de setembro" m/d Ex.: "Setembro 25" m/d/y Ex.: "Setembro 25 2009" TermDigits - uma string contendo um ou mais dgitos, que ao serem detectados finaliza a reproduo das mensagens e gera os eventos OnPlayStop e OnDigitsReceived. PauseBefore Indica uma pausa de n milisegundos antes de iniciar a reproduo Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

321

Guia de Referncia
Funes/Mtodos PlayFile (dg_PlayFile)

Inicia a reproduo de um arquivo atravs de uma porta da placa. Declaraes: ActiveX: SHORT PlayFile(SHORT Port, LPCTSTR LPCTSTR TermDigits, LONG Origin);

FileName,

API: short dg_PlayFile(short port, char *FileName, char *TermDigits, long Origin); Descrio: O mtodo PlayFile inicia a reproduo de um arquivo atravs da placa. possvel programar a interrupo atravs de um ou mais dgitos recebidos atravs do parmetro TermDigits. Ao iniciar a reproduo o evento OnPlayStart gerado e o evento OnPlayStop ao trmino, indicando o motivo da interrupo. possvel interromper tambm manualmente atravs do mtodo StopRecordFile. O PlayFile detecta automaticamente o tipo de arquivo, baseado na extenso para gsm ou se for wave, detecta se PCM ou LeiMi. Isso permite uso de diversos formatos para reproduo sem preocupao para o programador. Se for utilizado uma extenso desconhecida, fica valendo o que est especificado no SetPlayFormat. O mtodo GetPlayFormat permite saber qual o formato configurado. Parmetros: Port Indica a porta da placa.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

322

Guia de Referncia
Funes/Mtodos
File String contendo o nome e caminho completo do arquivo a ser reproduzido. TermDigits uma string contendo um ou mais dgitos, que ao serem detectados finaliza a reproduo das mensagens e gera os eventos OnPlayStop e OnDigitsReceived. Se qualquer dgito puder interromper utilize o smbolo "@". Se no houver dgito finalizador, passar "" (vazio). Origin - Este parmetro permite reproduzir a mensagem a partir de um determinado ponto. Se for passado 0 (zero) a mensagem reproduzida do incio. Se for passado -1 a mensagem reproduzida a partir do final menos 2 segundos (ideal para ouvir em real-time). Qualquer nmero diferente de 0 e -1 significa a partir de quantos segundos a mensagem ser reproduzida. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido, excedendo o nmero de portas instaladas

DG_ERROR_PLAY_INVALID_FILENAME - Nome de arquivo invlido


DG_ERROR_PLAY_OPENFILE - Arquivo no encontrado ou erro ao tentar abri-lo DG_ERROR_AUDIO_FORMAT_UNSUPPORTED - Formato de udio no suportado pela VoicerLib DG_ERROR_COULD_NOT_CREATE_THREAD - No foi possvel inicializar thread de reproduo

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

323

Guia de Referncia
Funes/Mtodos PlayList

Inicia a reproduo de uma lista de mensagens de um determinada porta Declaraes: ActiveX: SHORT PlayList(SHORT Port, LPCTSTR TermDigits); Descrio: Inicia a reproduo da lista de mensagens associada a porta indicada por Port que foi criada a partir do mtodo PlayListAdd. O funcionamento idntico ao do PlayFile, sendo gerado apenas um evento OnPlayStart no incio e um OnPlayStop no final da ltima mensagem da lista. Parmetros: Port Indica a porta da placa. TermDigits uma string contendo um ou mais dgitos, que ao serem detectados finaliza a reproduo das mensagens e gera os eventos OnPlayStop e OnDigitsReceived. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_ALREADY_PLAYING - Tentativa de iniciar uma reproduo quando j existe uma em curso DG_ERROR_PLAY_EMPTYLIST - Lista de mensagens vazia

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

324

Guia de Referncia
Funes/Mtodos PlayListAdd

Permite adicionar itens a serem reproduzidos na lista da porta Declaraes: ActiveX: VARIANT_BOOL PlayListAdd(SHORT Port, SHORT ItemType, LPCTSTR StringValue, LPCTSTR Mask, LONG PauseBefore); Parmetros: Port Indica a porta da placa ItemType Configura o tipo de mensagem a ser reproduzida (ptFile, ptCurrency, ptCardinal, ptDate e ptTime) Value a string que contm o valor a ser reproduzido, respeitando a sintaxe determinada por ItemType Mask Mscara utilizada somente para o tipo ptDate PauseBefore Indica uma pausa de n milisegundos antes de iniciar a reproduo Valor de Retorno: True - Adicionou mensagem com sucesso False - Erro ao adicionar mensagem

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

325

Guia de Referncia
Funes/Mtodos PlayListClear

Elimina todos os itens na lista da porta Declaraes: ActiveX: void PlayListClear(SHORT Port); Descrio: Este mtodo deve ser chamado antes do mtodo PlayListAdd para eliminar todos os elementos que possam estar na lista. Parmetros: Port Indica a porta da placa

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

326

Guia de Referncia
Funes/Mtodos PlayListGetCount

Retorna a quantidade de elementos na lista daquele canal Declaraes: ActiveX: SHORT PlayListGetCount(SHORT Port); Descrio: Este mtodo devolve a quantidade de elementos da lista de mensagens Parmetros: Port Indica a porta da placa Valor de Retorno: Se sucesso, retorna um inteiro com a quantidade de elementos DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

327

Guia de Referncia
Funes/Mtodos PlayListRemoveItem

Remove o item especificado da lista de mensagens da porta Declaraes: ActiveX: VARIANT_BOOL PlayListRemoveItem(SHORT Port, SHORT Index); Descrio: Remove o item especificado pelo parmetro Index. Deve ser utilizado um valor entre 0 e n-1. Parmetros: Port Indica a porta da placa. Index ndice do elemento a ser removido Valor de Retorno: True se conseguiu remover e False no caso de erro.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

328

Guia de Referncia
Funes/Mtodos PlayNumber

Permite reproduzir nmeros dgito a dgito Declaraes: ActiveX: SHORT PlayNumber(SHORT Port, LPCTSTR Value, LPCTSTR TermDigits, LONG PauseBefore); Parmetros: Port Indica a porta da placa Value Uma string ou varivel contendo o nmero a ser reproduzido. No se deve utilizar ponto como separador de milhares e necessrio utilizar a vrgula como separador decimal TermDigits - uma string contendo um ou mais dgitos, que ao serem detectados finaliza a reproduo das mensagens e gera os eventos OnPlayStop e OnDigitsReceived. Pode falar tambm: barra, trao, vrgula e ponto PauseBefore Indica uma pausa de n milisegundos antes de iniciar a reproduo Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

329

Guia de Referncia
Funes/Mtodos PlayTime

Permite reproduzir hora por extenso Declaraes: ActiveX: SHORT PlayTime(SHORT Port, LPCTSTR Value, LPCTSTR TermDigits, LONG PauseBefore); Parmetros: Port Indica a porta da placa Value Uma string ou varivel contendo a hora a ser reproduzida. Obrigatoriamente a hora deve estar representada no formato hh:mm:ss ou hh:mm TermDigits - uma string contendo um ou mais dgitos, que ao serem detectados finaliza a reproduo das mensagens e gera os eventos OnPlayStop e OnDigitsReceived. PauseBefore Indica uma pausa de n milisegundos antes de iniciar a reproduo Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PLAY_EMPTYLIST - Lista de mensagens vazia

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

330

Guia de Referncia
Funes/Mtodos PromptAbort

Interrompe a execuo de uma funo de PromptStart. Declaraes: ActiveX: SHORT PromptAbort(SHORT Port); Descrio: Ao chamar este mtodo, a funo iniciada pelo PromptStart ser interrompida para a porta especfica. Parmetros: Port Indica a porta da placa que gerou o evento Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

331

Guia de Referncia
Funes/Mtodos PromptSettings

Configura as opes de prompt Declaraes: ActiveX: SHORT PromptSettings(SHORT Port, LPCTSTR PlaybackPhrase, LPCTSTR ConfirmationPhrase, LPCTSTR RetryDigit, LPCTSTR ConfirmationDigit, LPCTSTR CancelDigit); Descrio: Tem a finalidade de configurar as condies de confirmao e conferncia dos dados digitados. Parmetros: Port Indica a porta da placa PlaybackPhrase Frase de boas vindas ex.: "Voc digitou" ConfirmationPhrase Frase para confirmao ex.: "Tecle * para confirmar, # para cancelar ou 9 para digitar de novo" RetryDigit Dgito que indicar redigitao dos dados ConfirmationDigit - Dgito que indicar aceitao dos dados CancelDigit - Dgito que indicar cancelamento da entrada de dados Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

332

Guia de Referncia
Funes/Mtodos PromptStart

Inicia a funo especial de entrada de dados Declaraes: ActiveX: SHORT PromptStart(SHORT Port, LPCTSTR PromptMessage, SHORT MinDigit, SHORT MaxDigit, SHORT TimeOut, SHORT InterdigitTimeOut, LPCTSTR TermDigits, VARIANT_BOOL WithConfirmation, VARIANT_BOOL WithPlayback, SHORT Retries, VARIANT_BOOL EnablePulseDetection, SHORT PulseSensibility); Descrio: Ao chamar este mtodo, a funo de prompt iniciada. O processo terminar gerando o evento OnPrompt que indicar o dado digitado e o Status Parmetros: Port Indica a porta da placa Message Mensagem ou lista de mensagens ("@") a serem reproduzidas para indicar a entrada de dados. Ex.: "Digite sua senha..." MinDigit Nmero mnimo de dgitos a serem esperados pelo mtodo. Aps o timeout ou dgito terminador, se o nmero mnimo no for alcanado, o mtodo avisar no evento OnPrompt MaxDigit Nmero mximo de dgitos a serem esperados pelo mtodo. TimeOut Timout global de espera de dgitos a ser contado aps o trmino da mensagem. InterdigitTimeOut Timeout interdgito a ser considerado aps a digitao do primeiro dgito. TermDigits Dgitos terminadores de entrada de dados. Ex.: "Disque sua senha e # para terminar" neste caso a # deve ser

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

333

Guia de Referncia
Funes/Mtodos
passada como parmetro aqui. WithConfirmation Se true, Executa as funes de confirmao WithPlayback Se true, executa as funes de conferncia, reproduzindo o que foi digitado. Retries Nmero de repeties do prompt em caso do usurio no digitar nada. EnablePulseDetection - Habilita/Desabilita deteco de pulse durante o funcionamento do Menu PulseSensibility - Esse parmetro permite alterar a sensibilidade de deteco de pulso, variando de -42dB at +12dB mas aconselha-se sempre passar zero, e variar o valor apenas caso haja algum problema na deteco de pulso. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Um dos parmetros fora do intervalo permitido DG_ERROR_PLAY_EMPTYLIST - Lista de mensagens vazia, no caso de passar "@" no parmetro PlayMessage.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

334

Guia de Referncia
Funes/Mtodos R2AskForGroupII (dg_R2AskForGroupII)

Envia um pedido do grupo II para a thread E1 Declaraes: ActiveX: SHORT R2AskForGroupII(SHORT Port, SHORT SignallingType); API: short dg_R2AskForGroupII(short port, short type); Descrio: Caso seja necessrio enviar um comando de pedido de grupo II (C_PREP_RX_GRUPO_B) manualmente, diretamente para a thread de controle E1, deve ser utilizado este mtodo. A thread de controle j dever ter sido inicializada atravs do mtodo CreateE1Thread. Normalmente no ser necessrio utilizar este mtodo, pois o mtodo ConfigE1Thread permite que este e outros parmetros sejam configurados previamente. Parmetros: Port Porta para onde ser enviado o comando Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver no inicializado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro passado est fora do intervalo permitido DG_ERROR_THREAD_NOT_RUNNING - Thread E1 no foi inicializada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

335

Guia de Referncia
Funes/Mtodos R2AskForID (dg_R2AskForId)

Envia um pedido da identificao do assinante para a thread E1 Declaraes: ActiveX: SHORT R2AskForID(SHORT Port); API: short dg_R2AskForId(short port); Descrio: Caso seja necessrio enviar um comando de pedido de identificao (C_ASK_FOR_ID) manualmente, diretamente para a thread de controle E1, deve ser utilizado este mtodo. A thread de controle j dever ter sido inicializada atravs do mtodo CreateE1Thread. Normalmente no ser necessrio utilizar este mtodo, pois o mtodo ConfigE1Thread permite que este e outros parmetros sejam configurados previamente. Parmetros: Port Porta para onde ser enviado o comando Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver no inicializado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro passado est fora do intervalo permitido DG_ERROR_THREAD_NOT_RUNNING - Thread E1 no foi inicializada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

336

Guia de Referncia
Funes/Mtodos R2SendGroupB (dg_SendGroupB)

Envia o grupo B para a thread E1 Declaraes: ActiveX: SHORT R2SendGroupB(SHORT Port, SHORT GroupBType); API: short dg_R2SendGroupB(short port, short groupb_type); Descrio: Este mtodo envia para a thread E1, o grupo B da sinalizao E1, que pode assumir os valores abaixo. Normalmente no ser necessrio utilizar este mtodo, pois o mtodo ConfigE1Thread permite que este e outros parmetros sejam configurados previamente. Parmetros: Port Porta para onde ser enviado o comando GroupB_Type - Tipo de grupo B a ser enviado Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver no inicializado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro passado est fora do intervalo permitido DG_ERROR_PARAM_OUTOFRANGE - Um dos parmetros fora do intervalo permitido DG_ERROR_THREAD_NOT_RUNNING - Thread E1 no foi inicializada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

337

Guia de Referncia
Funes/Mtodos ReadDigits (dg_ReadDigits)

L o contedo do buffer de dgitos da porta especificada Declaraes: ActiveX: BSTR ReadDigits(SHORT Port); API: short dg_ReadDigits(short port, char *szDigits); Descrio: O mtodo ReadDigits permite ler o contedo do buffer de dgitos da porta informada. Este buffer preenchido pelos mtodos PlayFile, RecordFile ou GetDigits. Parmetros: Port Indica a porta da placa szDigits - null-terminated - string que receber os dgitos (somente API) Valor de Retorno: ActiveX: Retorna uma string com os dgitos ou nulo caso no haja dgitos no buffer interno da biblioteca API: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

338

Guia de Referncia
Funes/Mtodos RecordFile (dg_RecordFile)

Inicia a gravao de um arquivo de udio atravs de uma porta da placa. Declaraes: ActiveX: SHORT RecordFile(SHORT Port, LPCTSTR LPCTSTR TermDigits);

FileName,

API: short dg_RecordFile(short port, char *FileName, char *TermDigits); Descrio: O mtodo RecordFile inicia a gravao de um arquivo atravs da placa. possvel programar a interrupo da gravao atravs de um ou mais dgitos recebidos atravs do parmetro TermDigits. Ao iniciar a gravao o evento OnRecordStart gerado e o evento OnRecordStop ao trmino, indicando o motivo da interrupo. possvel interromper tambm manualmente atravs do mtodo StopRecordFile. Tambm possvel colocar a gravao em pause, sem fechar o arquivo atravs do mtodo RecordPause. O RecordFile s poder ser chamado aps a chamada do mtodo EnableInputBuffer, que inicia o envio de amostras de udio da placa para a VoicerLib. O mtodo SetRecordFormat deve ser chamado para configurar o formato de gravao a ser utilizado. A VoicerLib no assume nenhum formato baseado apenas na extenso do arquivo. O mtodo GetRecordFormat permite saber qual o formato configurado. Parmetros:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

339

Guia de Referncia
Funes/Mtodos
Port Indica a porta da placa File String contendo o nome e caminho completo do arquivo. TermDigits uma string contendo um ou mais dgitos, que ao serem detectados finaliza a execuo do GetDigits e gera o evento OnDigitsReceived. Se qualquer dgito puder interromper utilize o smbolo "@" ao invs de colocar "0123456789#*", apesar de a segunda forma tambm estar correta. Se no houver dgito finalizador, passar "" (vazio). Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_PLAY_OPENFILE - No foi possvel localizar ou abrir um arquivo para reproduo (ActiveX) DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido, excedendo o nmero de portas instaladas

DG_ERROR_REC_OPENFILE - Erro na criao do arquivo de gravao DG_ERROR_REC_STOPPING - Existe uma gravao sendo finalizada DG_ERROR_REC_ALREADY_RECORDING - J existe uma gravao em curso

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

340

Guia de Referncia
Funes/Mtodos RecordPause (dg_RecordPause)

Interrompe temporariamente uma gravao, permitindo sua continuao no mesmo arquivo Declaraes: ActiveX: SHORT RecordPause(SHORT Port, VARIANT_BOOL Paused); API: short dg_RecordPause(short port, short paused); Descrio: O mtodo RecordPause permite que a gravao fique em pausa. Isto facilita a programao principalmente quando o usurio quiser colocar o cliente em espera e no desejar que este perodo seja gravado. Parmetros: Port Indica a porta da placa Paused DG_PAUSE (1) coloca em pausa e DG_RELEASE (0) retira. Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso

DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado


DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_REC_NOT_RECORDING - No est gravando

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

341

Guia de Referncia
Funes/Mtodos ResetError (dg_ResetError)

Envia um pedido para verificao de cdigo de erro e zera cdigo na placa Declaraes: ActiveX: SHORT ResetError(SHORT Card, SHORT Flag); API: short dg_ResetError(short card, short flag); Descrio: O firmware do hardware mantm um endereamento de memria para arquivar os cdigos de erro de hardware. Esses erros no devero ocorrer nunca, porm a monitorao dos mesmos permitir diagnosticar com mais facilidade problemas de hardware ou mesmo conflitos com o sistema operacional. Parmetros: Card Indica a placa que ser enviado o comando Flag Este parmetro pode assumir dois valores - ONTSEND_ERROR (0): O flag com este valor simplesmente resetar a informao de erro da placa - SEND_ERRORCODE (1): Passando-se este valor, ser gerado um evento OnErrorDetected com o cdigo de erro existente, alm de resetar a informao de erro da placa. IMPORTANTE: Nunca use este parmetro dentro do prprio tratamento do evento para evitar reentrncia infinita. Valores de Retorno:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

342

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver no inicializado DG_ERROR_PARAM_OUTOFRANGE - Parmetro Flag no DONTSEND_ERROR ou SEND_ERRORCODE DG_ERROR_CARD_OUT_OF_RANGE - Parmetro Card fora do nmero de placas instalado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

343

Guia de Referncia
Funes/Mtodos

ResetPortResource (dg_ResetPortResource)

Recupera a configurao original de portas virtuais Declaraes: ActiveX: SHORT ResetPortResource(void); API: short dg_ResetPortResource(void); Descrio: A qualquer momento possvel voltar a numerao das portas para o reconhecimento automtico, bastando para isso chamar o mtodo ResetPortResource. Este mtodo no exige nenhum parmetro e far com que a VoicerLib efetue o reconhecimento de portas feito na inicializao.

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

344

Guia de Referncia
Funes/Mtodos ReturnCodeGSMToString (dg_ReturnCodeGSMToString)

Retorna qual a mensagem de erro ocorrido na operao da thread GSM, a partir do cdigo de retorno. Declaraes: ActiveX: void ReturnCodeGSMToString(SHORT wReturn, LPCTSTR s); API: void dg_ReturnCodeGSMToString(short wReturn, char *s); Parmetros: wReturn - Cdigo do erro. s - Retorna a string referente ao codigo de erro Valor de Retorno: Retorna a mensagem de erro

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

345

Guia de Referncia
Funes/Mtodos ReturnCodeToString (dg_ReturnCodeToString)

Retorna qual a mensagem de erro, a partir do cdigo de retorno. Declaraes: ActiveX:

void ReturnCodeToString(SHORT wReturn, LPCTSTR s);


API: void dg_ReturnCodeToString(short wReturn, char *s); Parmetros: wReturn - Cdigo do erro. s - Retorna a string referente ao cdigo de erro Valor de Retorno: Retorna a mensagem de erro

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

346

Guia de Referncia
Funes/Mtodos ReturnCodeToStringCauseBusy (dg_ReturnCodeToStringCauseBusy)

Retorna qual a descrio da causa de ocupado, a partir do cdigo de retorno. Declaraes: ActiveX: void ReturnCodeToString(SHORT wReturn, LPCTSTR s); API: void dg_ReturnCodeToString(short wReturn, char *s); Parmetros: wReturn - Cdigo do retorno s - Retorna a string referente ao cdigo de retorno Valor de Retorno: Retorna a mensagem de descrio da causa Veja Tambm: GetBusyCause.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

347

Guia de Referncia
Funes/Mtodos SendISDNCommand (dg_SendISDNCommand)

Envia um comando ISDN referente a estabelecimento de chamadas entrantes. S possvel enviar o comando se a configurao ISDN_AUTO_SIGNALING (ConfigISDNThread) estiver desabilitada (DG_DISABLE). Declaraes: ActiveX: SHORT SendISDNCommand(SHORT Port, SHORT Command); API: short dg_SendISDNCommand(short port, short command);

Parmetros: Port Indica a porta do tronco ISDN Command Indica o comando ISDN a ser passado, sendo: C_WAITFORDIGITS - Indica ao PABX ou Central Pblica que a aplicao (VoicerLib) precisa de mais dgitos para completar a chamada. C_CALLPROCEEDING - Indica ao PABX ou Central Pblica que a aplicao (VoicerLib) est processando a chamada entrante. C_RING - Indica ao PABX ou Central Pblica que o nmero discado est chamando.

Valores de Retorno: DG_EXIT_SUCCESS - Enviou comando ISDN com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta foi passado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

348

Guia de Referncia
Funes/Mtodos
com valor zero ou maior do que o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1 DG_ERROR_FIFO_UNAVAILABLE - Fifo de comunicao entre threads no est disponvel. Falta de memria pode ser a causa mais comum DG_ERROR_PORT_IS_NOT_IN_USE - A porta no est atendida DG_ERROR_AUTO_SIGNALING_ON - necessrio que a configurao ISDN_AUTO_SIGNALING (ConfigISDNThread) esteja desabilitada (DG_DISABLE). DG_ERROR_INVALIDPARAM - Parmetro Command fora do intervalo permitido DG_ERROR_THREAD_DISABLED - A thread ISDN est desabilitada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

349

Guia de Referncia
Funes/Mtodos SendR2Command (dg_SendR2Command)

Envia um comando R2 diretamente para a porta de um tronco E1 Declaraes: ActiveX: SHORT SendR2Command(SHORT Port, LONG Command); API: short dg_SendR2Command(short port, int r2); Descrio: Este mtodo permite enviar comandos R2 diretamente para a porta da placa. Alm disso, serve para habilitar ou desabilitar a deteco dos comandos R2 de um determinada porta. Caso se esteja utilizando a thread de controle E1, no necessrio chamar este mtodo diretamente, pois isto feito pela prpria thread. Ao habilitar a deteco, o evento OnR2Received ser gerado toda vez que for detectado um sinal R2. Parmetros: Port Indica a porta do tronco E1 Command Indica o comando R2 a ser passado, sendo: - R2_IDLE (0x9) - R2_CLEAR_FOWARD (0x9) - R2_SEIZURE (0x1) - R2_BACKWARD_DISCONNECTION (0x1) - R2_SEIZURE_ACK (0xd) - R2_BILLING (0xd) - R2_CLEAR_BACK (0xd) - R2_ANSWERED (0x5) - R2_BLOCKED (0xd)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

350

Guia de Referncia
Funes/Mtodos
- R2_FAILURE (0xd) - R2_ENABLEDETECTION (0x10) - Habilita a deteco - R2_DISABLEDETECTION (0x20) - Desabilita a deteco

Valores de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_PORT_OUT_OF_RANGE - Parmetro Port est fora do intervalo permitido DG_ERROR_DRIVER_CLOSED - Driver no inicializado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

351

Guia de Referncia
Funes/Mtodos SetAlarmMode (dg_SetAlarmMode)

Configura o modo de notificao dos alarmes dos framers E1 Declaraes: ActiveX: SHORT SetAlarmMode(SHORT Card, SHORT Mode); API: short dg_SetAlarmMode(short card, short mode); Descrio: A placa E1 gera eventos de alarmes indicando qualquer tipo de problema nos troncos E1. Por padro inicial a notificao dos alarmes manual, ou seja, a placa no envia estes alarmes para a VoicerLib e esta consequentemente no gera o evento OnE1Alarm. Se for necessrio saber o status do alarme, necessrio chamar o mtodo GetAlarmStatus. Chamando este mtodo com o parmetro Mode com valor ALARM_AUTOMATIC_NOTIFY, os eventos de alarme ocorrero automaticamente logo que ocorrerem. Recomenda-se utilizar o modo automtico mas somente depois de se configurar o sincronismo das placas. (Os tipos de alarmes so explicados no evento OnE1Alarm).

Parmetros: Card Indica a placa que ser enviado o comando Mode Modo de notificao - ALARM_MANUAL_NOTIFY - O evento OnE1Alarm s gerado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

352

Guia de Referncia
Funes/Mtodos
aps a chamada do mtodo GetAlarmStatus - ALARM_AUTOMATIC_NOTIFY - O evento OnE1Alarm ocorre sempre quando um alarme for detectado Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro Card fora do intervalo permitido, excedendo o nmero de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro Mode fora do intervalo permitido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

353

Guia de Referncia
Funes/Mtodos SetAudioInputCallback (dg_SetAudioInputCallback)

Configura a funo CallBack que poder receber as amostras de udio da placa Declaraes: ActiveX: SHORT SetAudioInputCallback(LONG FunctionPointer); API: void dg_SetAudioInputCallback(void *ptrFunc); Descrio: Este mtodo passa para a VoicerLib o ponteiro da funo Callback que tratar as amostras de udio recebidas da placa. Para receber estas amostras necessrio habilitar o seu envio atravs do mtodo EnableInputBuffer Parmetros: Ponteiro da funo CallBack

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

354

Guia de Referncia
Funes/Mtodos SetBearerCapability (dg_SetBearerCapability)

Configura o tipo da chamada do span. Declaraes: ActiveX: SHORT SetBearerCapability(SHORT Port, SHORT Coding_Standard, SHORT Transfer_Capability, SHORT Layer1_Protocol); API: short dg_SetBearerCapability(short port, char coding_standard, char transfer_capability, char transfer_mode, char transfer_rate, char layer1_protocol);

Descrio: Indica particularidades da chamada, que devem ser semelhantes aquelas utilizadas pelo PABX ou pela Central Pblica. Se este mtodo no for configurado a VoicerLib assumir o padro. Parmetros: Port Indica a porta da placa Coding_Standard - Codificao padro do protocolo ISDN PRI Transfer_Capability - Tipo de transferncia da chamada Layer1_Protocol - Codec utiizado na chamada API Transfer_Mode - Modo de transmisso da chamada Transfer_Rate - Taxa de transmisso da chamada

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

355

Guia de Referncia
Funes/Mtodos
Valores: Coding_Standard - Padro: ISDN_CODING_STANDARD ISDN_CODING_STANDARD (0) - EURO/ITU ISDN_CODING_ISO (1) ISDN_CODING_NATIONAL (2) ISDN_CODING_NETWORK (3) Transfer_Capability - Padro: ISDN_BEARER_CAPABILITY_SPEECH ISDN_BEARER_CAPABILITY_SPEECH (0) ISDN_BEARER_CAPABILITY_UNRESTRICTED (8) ISDN_BEARER_CAPABILITY_RESTRICTED (9) ISDN_BEARER_CAPABILITY_AUDIO (16) ISDN_BEARER_CAPABILITY_UNRESTRICTED_TONES (17) ISDN_BEARER_CAPABILITY_VIDEO (24) Layer1_Protocol - Padro ISDN_BEARER_USER_LAYER_1_G711_ALAW (aLaw) ISDN_BEARER_USER_LAYER_1_G711_ULAW (2) ISDN_BEARER_USER_LAYER_1_G711_ALAW (3)

API Transfer_Mode - ISDN_BEARER_TRANSFER_CIRCUIT (0) Transfer_Rate - ISDN_BEARER_RATE_64K (16) Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do valor especificado DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

356

Guia de Referncia
Funes/Mtodos SetCallAfterAnswer

Configura as opes aps a deteco de atendimento do mtodo MakeCall Declaraes: ActiveX: SHORT SetCallAfterAnswer(SHORT Port, LPCTSTR FileName, SHORT Pause, VARIANT_BOOL AutoHangUp); Descrio: Este mtodo configura uma frase para ser reproduzida aps a deteco de atendimento Parmetros: Port Indica a porta da placa FileName Indica o nome do arquivo de voz a ser reproduzido Pause Em milisegundos, indica a pausa aps o atendimento antes de reproduzir a mensagem AutoHangUp Indica se, aps uma discagem do tipo Flash, desliga automaticamente quando detectado o atendimento Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

357

Guia de Referncia
Funes/Mtodos SetCallAfterPickup

Configura as opes aps o pickup do mtodo MakeCall Declaraes: ActiveX: SHORT SetCallAfterPickup(SHORT Port, LPCTSTR Digit, SHORT PauseAfter);

Descrio: Este mtodo configura os dgitos a serem discados aps o atendimento (ex. Para pegar linha externa) especificado no mtodo MakeCall.

Parmetros: Port Indica a porta da placa Digit Indica o(s) dgito(s) a serem discados PauseAfter Em milisegundos, indica a pausa aps pegar linha(atendimento) dado pelo mtodo MakeCall Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

358

Guia de Referncia
Funes/Mtodos SetCallBusyPhrase

Configura a frase a ser reproduzida em caso de ocupado Declaraes: ActiveX: SHORT SetCallBusyPhrase(SHORT Port, LPCTSTR FileName); Descrio: Este mtodo configura uma frase para ser reproduzida em caso de ocupado Parmetros: Port Indica a porta da placa FileName Indica o nome e caminho do arquivo de voz a ser reproduzido Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

359

Guia de Referncia
Funes/Mtodos SetCallBusyReturnFlash

Configura o flash em caso de ocupado Declaraes: Delphi: SHORT SetCallBusyReturnFlash(SHORT Port, SHORT Count, LPCTSTR Digit, SHORT PauseAfter); Descrio: Este mtodo configura as opes de flash de retomada em caso de ocupado. Parmetros: Port Indica a porta da placa Count Nmero de flashes Digit Dgito aps o flash (se existir) PauseAfter Pausa aps o flash Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

360

Guia de Referncia
Funes/Mtodos SetCalledNumber (dg_SetCalledNumber)

Configura as propriedades do nmero a ser discado. Declaraes: ActiveX: SHORT SetCalledNumber(SHORT Port, SHORT Number_Type, SHORT Numbering_Plan); API: short dg_SetCalledNumber(short port, char number_type, char numbering_plan);

Parmetros: Port Indica a porta da placa Number_Type - Tipo do nmero Numbering_Plan - Plano de discagem Valores: Number_Type - Padro: ISDN_PARTY_NUMBER_TYPE_SUBSCRIBER ISDN_PARTY_NUMBER_TYPE_UNKNOWN (0) ISDN_PARTY_NUMBER_TYPE_INTERNATIONAL (1) ISDN_PARTY_NUMBER_TYPE_NATIONAL (2) ISDN_PARTY_NUMBER_TYPE_NETWORK (3) ISDN_PARTY_NUMBER_TYPE_SUBSCRIBER (4) ISDN_PARTY_NUMBER_TYPE_ABBREVIATED (6) ISDN_PARTY_NUMBER_TYPE_RESERVED (7) Numbering_Plan - Padro: ISDN_PARTY_NUMBER_PLAN_ISDN ISDN_PARTY_NUMBER_PLAN_UNKNOWN (0)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

361

Guia de Referncia
Funes/Mtodos
ISDN_PARTY_NUMBER_PLAN_ISDN ISDN_PARTY_NUMBER_PLAN_DATA ISDN_PARTY_NUMBER_PLAN_TELEX ISDN_PARTY_NUMBER_PLAN_NATIONAL ISDN_PARTY_NUMBER_PLAN_PRIVATE ISDN_PARTY_NUMBER_PLAN_RESERVED Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas (1) (3) (4) (8) (9) (15)

DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1 DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do valor especificado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

362

Guia de Referncia
Funes/Mtodos SetCallingNumber (dg_SetCallingNumber)

Configura as propriedades do nmero do identificador de A (BINA). Declaraes: ActiveX: SHORT SetCallingNumber(SHORT Port, SHORT Number_Type, SHORT Numbering_Plan, SHORT Presentation_Indicator, SHORT Screening_Indicator); API: short dg_SetCallingNumber(short port, char number_type, char numbering_plan, char presentation_indicator, char Screening_indicator);

Parmetros: Port Indica a porta da placa Number_Type - Tipo do nmero Numbering_Plan - Plano de discagem Presentation_Indicator - Propagao da identificao ( opo se vai ou no repassar o BINA ) Screening_Indicator - Apresentao da identificao ( opo se vai ou no mostrar o BINA ) Valores: Number_Type - Padro: ISDN_PARTY_NUMBER_TYPE_SUBSCRIBER ISDN_PARTY_NUMBER_TYPE_UNKNOWN (0) ISDN_PARTY_NUMBER_TYPE_INTERNATIONAL (1)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

363

Guia de Referncia
Funes/Mtodos
ISDN_PARTY_NUMBER_TYPE_NATIONAL ISDN_PARTY_NUMBER_TYPE_NETWORK ISDN_PARTY_NUMBER_TYPE_SUBSCRIBER ISDN_PARTY_NUMBER_TYPE_ABBREVIATED ISDN_PARTY_NUMBER_TYPE_RESERVED (2) (3) (4) (6) (7)

Numbering_Plan - Padro: ISDN_PARTY_NUMBER_PLAN_ISDN ISDN_PARTY_NUMBER_PLAN_UNKNOWN ISDN_PARTY_NUMBER_PLAN_ISDN ISDN_PARTY_NUMBER_PLAN_DATA ISDN_PARTY_NUMBER_PLAN_TELEX ISDN_PARTY_NUMBER_PLAN_NATIONAL ISDN_PARTY_NUMBER_PLAN_PRIVATE ISDN_PARTY_NUMBER_PLAN_RESERVED (0) (1) (3) (4) (8) (9) (15)

Presentation_Indicator - Padro:

ISDN_PARTY_NUMBER_PRESENTATION_NOT_USED
ISDN_PARTY_NUMBER_PRESENTATION_ALLOWED ISDN_PARTY_NUMBER_PRESENTATION_RESTRICTED ISDN_PARTY_NUMBER_PRESENTATION_UNAVAILABLE ISDN_PARTY_NUMBER_PRESENTATION_RESERVED (0) (1) (2)

(3) ISDN_PARTY_NUMBER_PRESENTATION_NOT_USED (4)


Screening_indicator - Padro:

ISDN_PARTY_NUMBER_SCREENING_NOT_USED
ISDN_PARTY_NUMBER_SCREENING_NOT_SCREENED ISDN_PARTY_NUMBER_SCREENING_VER_PASS(1) ISDN_PARTY_NUMBER_SCREENING_VER_FAIL ISDN_PARTY_NUMBER_SCREENING_NETWORK (3) (0) (2)

ISDN_PARTY_NUMBER_SCREENING_NOT_USED
Retorno: DG_EXIT_SUCCESS - Executado com sucesso

(4)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

364

Guia de Referncia
Funes/Mtodos
DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1 DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do valor especificado

SetCallFlashTime

Configura o flash geral do mtodo MakeCall Declaraes: ActiveX: SHORT SetCallFlashTime(SHORT Port, LONG FlashTime); Descrio: Este mtodo configura o tempo de flash a ser utilizado em todas as situaes executadas pelo mtodo MakeCall. Parmetros: Port Indica a porta da placa FlashTime Tempo de flash em milisegundos Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

365

Guia de Referncia
Funes/Mtodos SetCallNoAnswerPhrase

Configura a frase a ser reproduzida em caso de no atendimento Declaraes: ActiveX: SHORT SetCallNoAnswerPhrase(SHORT Port, LPCTSTR FileName); Descrio: Este mtodo configura uma frase para ser reproduzida em caso de no atendimento Parmetros: Port Indica a porta da placa. FileName Indica o nome e caminho do arquivo de voz a ser reproduzido Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

366

Guia de Referncia
Funes/Mtodos SetCallNoAnswerReturnFlash

Configura o flash em caso de no atendimento Declaraes: ActiveX: SHORT SetCallNoAnswerReturnFlash(SHORT Port, SHORT Count, LPCTSTR Digit, SHORT PauseAfter); Descrio: Este mtodo configura as opes de flash de retomada em caso de no atendimento Parmetros: Port Indica a porta da placa Count Nmero de flashes Digit Dgito aps o flash (se existir) PauseAfter Pausa aps o flash Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

367

Guia de Referncia
Funes/Mtodos SetCallNoAnswerRingCount

Configura a quantidade de rings a serem considerados como no atendimento Declaraes: ActiveX: SHORT SetCallNoAnswerRingCount(SHORT Port, SHORT RingCount); Descrio: Este mtodo configura o tempo de flash a ser utilizado em todas as situaes executadas pelo mtodo MakeCall Parmetros: Port Indica a porta da placa RingCount Nmero de rings Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

368

Guia de Referncia
Funes/Mtodos SetCallPauseBeforeAnalysis

Configura o tempo de pausa antes de iniciar a superviso do mtodo MakeCall Declaraes: ActiveX: SHORT SetCallPauseBeforeAnalysis(SHORT Port, LONG PauseBefore); Descrio: Este mtodo configura o tempo de pausa antes de iniciar a superviso. Pode ser utilizado para evitar falso atendimento em algumas situaes Parmetros: Port Indica a porta da placa PauseBefore Tempo de flash em milisegundos Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

369

Guia de Referncia
Funes/Mtodos SetCallStartFlash

Configura o flash inicial em discagens com flash Declaraes: ActiveX: SHORT SetCallStartFlash(SHORT Port, SHORT Count, LPCTSTR Digit, SHORT PauseAfterFlash, SHORT PauseAfterDigit); Descrio: Este mtodo configura as opes de flash inicial. utilizado quando o mtodo MakeCall chamado com o formato ctWithFlash(1). Parmetros: Port Indica a porta da placa Count Nmero de flashes Digit Dgito aps o flash (se existir) PauseAfterFlash Pausa aps o flash PauseAfterDigit - Pausa aps o dgito Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

370

Guia de Referncia
Funes/Mtodos SetCallWaitForDialTone

Indica se o tom de discagem dever ser aguardado. Declaraes: ActiveX: SHORT SetCallWaitForDialTone(SHORT Port, VARIANT_BOOL WaitDialTone); Descrio: Este mtodo indica se o mtodo MakeCall dever esperar pelo tom de discagem antes de discar. Se no receber este tom, gera o evento OnAfterMakeCall indicando a situao. Parmetros: Port Indica a porta da placa WaitForDialTone True/False Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

371

Guia de Referncia
Funes/Mtodos SetCardDetections (dg_SetCardDetections)

Configura o valor a ser utilizado nas deteces de tons. Declaraes: ActiveX: SHORT SetCardDetections(SHORT Card, SHORT DetectionType, FLOAT Value1, FLOAT Value2); API: short dg_SetCardDetections(short card, short type, float value1, float value2); Descrio: Este mtodo permite configurar os valores das frequncias que sero monitoradas pelo sistema. A VoicerLib j vem com valores pr-configurados que serviro para a maioria dos casos. A utilizao deste mtodo permite alterar estes valores, caso seja necessrio. importante ressaltar que este mtodo altera as configuraes de frequncias de tons para determinada placa, e no por porta.

Parmetros: Card Indica a placa que ser enviado o comando. Type Este parmetro indica qual dos presets ser alterado - CFG_DETECT_FREQTONE1 - Pr-configurado em 425Hz - CFG_DETECT_FREQTONE2 - Pr-configurado em 1100Hz (Fax) - CFG_DETECT_FREQTONE3 - Pr-configurado em 2100Hz (Fax) - CFG_DETECT_FREQTONE4 - Livre - CFG_DETECT_FREQTONE5 - Livre - CFG_DETECT_FREQTONE6 - Livre

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

372

Guia de Referncia
Funes/Mtodos
- CFG_DETECT_FREQTONE7 - Livre - CFG_DETECT_FREQTONE8 - Livre Value1 Indica o valor da primeira frequncia a ser configurada (em Hz) Value2 Indica o valor da segunda frequncia a ser configurada (em Hz). Se no existir segunda frequncia, utilize o valor zero.

Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver no inicializado DG_ERROR_CARD_OUT_OF_RANGE - Nmero da placa fora do intervalo permitido DG_ERROR_PARAM_OUTOFRANGE - Parmetro Type diferente dos valores mostrados anteriormente

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

373

Guia de Referncia
Funes/Mtodos SetCardSyncMode (dg_SetCardSyncMode)

Configura o tipo de sincronismo que a placa funcionar Declaraes: ActiveX: SHORT SetCardSyncMode(SHORT Card, SHORT SyncMode); API: short dg_SetCardSyncMode(unsigned short card, unsigned short SyncMode); Descrio: Devido caractersticas existentes somente nas linhas digitais (E1), o desenvolvedor deve prestar ateno s configuraes de sincronismo aps a inicializao. Sempre aps inicializar o driver (StartVoicerLib) necessrio configurar o modo de operao e o sincronismo das placas. Caso esta configurao seja omitida, a aplicao poder apresentar erros de sinalizao, etc... Para maiores informaes, leia o tpico Configuraes de Sincronismo referentes placa E1 no Guia de Programao deste manual. Parmetros: Card Indica a placa que ser enviado o comando. SyncMode Este parmetro indica o tipo de sincronismo que a placa funcionar - SYNC_INTERNAL - Placa MASTER com sincronismo interno - SYNC_LINE_A - Placa MASTER com sincronismo externo no E1 A (Primeiro E1) - SYNC_LINE_B - Placa MASTER com sincronismo externo no E1 B (Segundo E1, em placas de 60 canais)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

374

Guia de Referncia
Funes/Mtodos
Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_CARD_OUT_OF_RANGE - Card informado fora do intervalo de placas instaladas. DG_FEATURE_NOT_SUPPORTED - A placa no precisa de configurao de sincronismo DG_ERROR_PARAM_OUTOFRANGE - SyncMode invlido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

375

Guia de Referncia
Funes/Mtodos SetDetectionType (dg_SetDetectionType)

Habilita ou desabilita diversos tipos de deteces Declaraes: ActiveX: SHORT SetDetectionType(SHORT Port, SHORT Command, SHORT Enable); API: short dg_SetDetectionType(short port, short command, short enable); Descrio: Este o mtodo que permite habilitar (Enable=DG_ENABLE) ou desabilitar (Enable=DG_DISABLE) as seguintes deteces, definidas pelo parmetro Command: - DETECT_OFF - Desabilita todas as deteces independente do parmetro Enable - DETECT_DTMF - Habilita/Desabilita deteco de DTMF - DETECT_MFT - Habilita/Desabilita deteco de MFT (MF para "trs") - DETECT_MFF - Habilita/Desabilita deteco de MFF (MF para "frente") - DETECT_MF - Habilita/Desabilita deteco de MF definido pelo usurio - DETECT_TONE1 - Habilita/Desabilita deteco de tom 425Hz puro - DETECT_TONE2 - Habilita/Desabilita deteco de tom 1100Hz puro - DETECT_TONE3 - Habilita/Desabilita deteco de tom 2100Hz puro - DETECT_TONE4 - Habilita/Desabilita deteco de tom puro definido pelo usurio

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

376

Guia de Referncia
Funes/Mtodos
- DETECT_AUDIO - Habilita/Desabilita deteco de udio (qualquer coisa diferente de silncio) - DETECT_TONE5 - Habilita/Desabilita deteco de tom definido pelo usurio - DETECT_TONE6 - Habilita/Desabilita deteco de tom definido pelo usurio - DETECT_TONE7 - Habilita/Desabilita deteco de tom definido pelo usurio - DETECT_TONE8 - Habilita/Desabilita deteco de tom definido pelo usurio - DETECT_ALL_MF - Habilita/Desabilita todos os tipos de MF - DETECT_ALL_TONE - Habilita/Desabilita todos os tipos de tons Se for passado o comando DETECT_OFF todas as deteces desta porta so desabilitadas. Chamadas consecutivas deste mtodo acumula as deteces, ou seja, possvel habilitar a deteco do TONE1 e TONE3 simultaneamente, por exemplo. Para fins de superviso de linha, recomenda-se o uso das funes de CallProgress (consulte o tpico Superviso de Linha) por ser de implementao mais simples. Os tons definidos pelo usurio devem ser configurados pelo mtodo SetCardDetections. Parmetros: Port Indica a porta da placa Command - Valores que indicam qual deteco habilitar, conforme lista citada anteriormente. Enable - DG_ENABLE(1) ou DG_DISABLE(0) Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro Command fora do especificado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

377

Guia de Referncia
Funes/Mtodos SetDialDelays (dg_SetDialDelays)

Configura os tempos de pausa dos smbolos de discagem Declaraes: ActiveX: SHORT SetDialDelays(USHORT CommaDelay, USHORT DotDelay, USHORT SemicolonDelay); API: short dg_SetDialDelays(unsigned short CommaDelay, unsigned short DotDelay, unsigned short SemicolonDelay); Descrio: Quando o mtodo Dial ou MakeCall chamado, um dos parmetros passados uma string contendo uma sequncia de dgitos a serem discados pela placa. Alm dos dgitos, possvel passar os caracteres vrgula, ponto e ponto-e-vrgula, cada um representando um determinado tempo de pausa em milissegundos a ser respeitada durante a discagem. Ex.: Se for discado "123,4", o sistema discar "123", dar uma pausa de x milissegundos e depois discar o "4". Esse mtodo unifica para a API e o ActiveX o acesso s antigas propriedades do ActiveX (DelayComma, DelayDot e DelaySemicolon) que foram retiradas desta verso. Parmetros: CommaDelay Determina o tempo em milissegundos para a pausa relativa ao caracter "," (vrgula) . DotDelay Determina o tempo em milissegundos para a pausa relativa ao caracter "." (ponto) .

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

378

Guia de Referncia
Funes/Mtodos
SemiColonDelay Determina o tempo em milissegundos para a pausa relativa ao caracter ";" (ponto-e-vrgula) . Valores de Retorno: DG_EXIT_SUCCESS- Executado com sucesso

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

379

Guia de Referncia
Funes/Mtodos

SetDigitFrequency(dg_SetDigitFrequency)

Configura as frequncias que compem os sinais MF Declaraes: ActiveX: SHORT SetDigitFrequency(SHORT Card, SHORT Cmd, SHORT Frequency, CHAR Digit, LONG FrequencyValue); API: short dg_SetDigitFrequency(short card, short command, short freqindex, char cDigit, int frequency_value); Descrio: Os sinais multifrequenciais (MF) tm este nome por serem compostos de mais de uma frequncia. Este mtodo permite configurar as frequncias de cada dgito separadamente, dando grande versatilidade. A mudana dessa configurao afeta todas as portas de determinada placa. Parmetros: Card Placa a ser configurada Cmd - Indica qual o tipo de MF a ser configurado e pode ser: - DIAL_CFG_FREQDTMF: frequencia do sinal de DTMF - DIAL_CFG_FREQMFT: frequencia do sinal de MFT - DIAL_CFG_FREQMFF: frequencia do sinal de MFF - DIAL_CFG_FREQMF: frequencia do sinal de MF (= DTMF) ou configurado pelo usurio - DIAL_CFG_FREQTOM1: frequencia do sinal do TOM1 (425 Hz) - DIAL_CFG_FREQTOM2: frequencia do sinal do TOM2 (425 Hz) Frequency - Indica qual das frequncias ser configurada (FREQ1, FREQ2 ou NONE). No caso dos xxxFREQTOM1 e

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

380

Guia de Referncia
Funes/Mtodos
xxxFREQTOM2 este parmetro ignorado Digit - Dgito a ser configurado (0-9, #, *, A B C D) FrequencyValue - de 200Hz a 3500Hz Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido DG_ERROR_CARD_OUT_OF_RANGE - Parmetro card fora do intervalo de placas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

381

Guia de Referncia
Funes/Mtodos SetDigitGain(dg_SetDigitGain)

Configura ganho/atenuao dos dgitos ou tons gerados Declaraes: ActiveX: SHORT SetDigitGain(SHORT Card, SHORT Cmd, FLOAT GainValue); API: short dg_SetDigitGain(short card, short command, float gain_value); Descrio: possvel dar ganho ou atenuar o sinal dos dgitos ou tons gerados pela placa. Esse tipo de configurao afeta todos as portas da placa informada em card. O parmetro Cmd/command determina qual tipo de MF ou tom ter seu ganho alterado. J o parmetro GainValue fornece o valor em dBm do ganho a ser aplicado. Parmetros: Card Indica a placa a altera Cmd/GainValue - O comando e os valores permitidos de ganho so associados:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

382

Guia de Referncia
Funes/Mtodos
Cmd/Command DIAL_CFG_GAINDTMF Descrio GainValue -3dBm ate dBm -3dBm ate dBm -3dBm ate dBm -3dBm ate dBm +3.17dBm -42dBm +3.17dBm -42dBm -42 -42 -42 -42 at at

Ganho dos dgitos DTMFs DIAL_CFG_GAINMFT Ganho dos MF "pra trs" DIAL_CFG_GAINMFF Ganho dos MF "pra frente" DIAL_CFG_GAINMF Ganho dos MF definidos pelo usurio DIAL_CFG_GAINTONE1 Ganho dos tons definidos pelo usurio DIAL_CFG_GAINTONE2 Ganho dos tons definidos pelo usurio Valores de Retorno:

DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro card fora do intervalo de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido (Cmd ou GainValue)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

383

Guia de Referncia
Funes/Mtodos SetDTMFConfig (dg_SetDTMFConfig)

Determina a durao do tom DTMF gerado e da pausa entre dgitos Declaraes: ActiveX: SHORT SetDTMFConfig(LONG Duration, LONG Pause); API: short dg_SetDtmfConfig(long duration, long pause); Descrio: O tom tem durao de 90ms como padro, mas poder ser alterado conforme a necessidade. A pausa tambm tem valor padro em 90ms. Quando um novo valor atribudo, todas as portas de todas as placas so afetadas. Parmetros: Duration Durao do dtmf em milissegundos Pause - Durao da pausa entre dgitos, em milissegundos Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso

DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado


DG_ERROR_PARAM_OUTOFRANGE - Duration ou Pause maior que 60000ms

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

384

Guia de Referncia
Funes/Mtodos SetE1CRC4Option (dg_SetE1CRC4Option)

Habilita ou desabilita opo de CRC4 no framer E1 Declaraes: ActiveX: SHORT SetE1CRC4Option(SHORT Card, SHORT E1Device, SHORT Enable); API: short dg_SetE1CRC4Option(short card, short e1, short enable); Descrio: Esta opo permite habilitar ou desabilitar a opo de CRC4 do framer E1, para eventualmente compatibilizar com a central pblica. No comum ter que utilizar esta opo. Parmetros: Card - Indica qual a placa na qual ser configurado este parmetro E1Device - Pode assumir os valores CFG_FRAMER_E1_B(2) ou CFG_FRAMER_E1_A(1) Enable DG_ENABLE (1) ou DG_DISABLE(0) Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido DG_ERROR_CARD_OUT_OF_RANGE - Parmetro card fora do intervalo de placas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

385

Guia de Referncia
Funes/Mtodos SetFastDetection (dg_SetFastDetection)

Habilita ou desabilita o algoritmo de deteco rpida de MF Declaraes: ActiveX: SHORT SetFastDetection(SHORT Port, SHORT Enable); API: short WCDECL dg_SetFastDetection(short port, short enable); Descrio: Este mtodo habilita ou desabilita o algoritmo de deteco rpida de MF, permitindo sua identificao em 20ms. Normalmente, o modo de deteco rpida no deve ser utilizado pois em aplicaes normais a durao dos MFs bem maior que 20ms e este algoritmo consome alto processamento do DSP da placa. Devido a este alto consumo, no possvel utilizar o modo rpido em conjunto com gravao gsm, por exemplo. A deteco propriamente dita continua a ser habilitada pelo mtodo SetDetectionType. O mtodo SetFastDetection, caso seja necessrio, dever ser chamado antes de se habilitar as deteces. Parmetros: Port - Porta da placa que ser aplicada a configurao Enable - DG_ENABLE(1) ou DG_DISABLE(0) Valor de Retorno:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

386

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_PARAM_OUTOFRANGE - Parmetro Enable diferente dos valores mostrados anteriormente DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

387

Guia de Referncia
Funes/Mtodos

SetFaxFrequencies (dg_SetFaxFrequencies)

Modificar a frequncia padro para deteco de fax Declaraes: ActiveX: SHORT SetFaxFrequencies(SHORT First, SHORT Second); API: short dg_SetFaxFrequencies(short first, short second); Descrio: Esta frequncia deve ser alterada caso seja necessrio detectar alguma frequncia fora de padro. Neste caso o fax no ser mais detectado. As frequncias padro de fax so 1100Hz e 2100hz. Este mtodo chama, na verdade, os seguintes comandos: dg_SetCardDetections(card, CFG_DETECT_FREQTONE2, first,0); dg_SetCardDetections(card, CFG_DETECT_FREQTONE3, second,0); Para todas as placas instaladas. Caso seja necessrio tratar essas frequncias de maneira diferente por placa, utilizar o dg_SetCardDetections diretamente. Parmetros: Card - Indica qual a placa na qual ser configurado este parmetro Frequency Valor da frequncia em Hz

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

388

Guia de Referncia
Funes/Mtodos
Valor de Retorno: DG_EXIT_SUCCESS - Thread iniciada com sucesso DG_ERROR_PARAM_OUTOFRANGE - Parmetro diferente dos valores mostrados anteriormente

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

389

Guia de Referncia
Funes/Mtodos

SetFramerLoop (dg_SetFramerLoop)

Coloca os framers em loop para fins de testes ou monitorao Declaraes: ActiveX: SHORT SetFramerLoop(SHORT Card, SHORT Device, SHORT LoopType); API: short dg_SetFramerLoop(short card, short device, short loop_type); Descrio: Os framers so os troncos E1s das placas digitais. Este mtodo permite fechar um looping local ou remoto entre o TX e o RX de cada E1 para fins de testes ou mesmo de monitorao. Em operao normal, os framers esto configurados como FRAMER_LOOP_OFF(0). Caso seja necessrio efetuar um teste , por exemplo, possvel modific-lo para FRAMER_LOOP_REMOTE(1). OBS: A opo LOOP_REMOTE(1) tambm til na operao de gravao em paralelo quando no se quiser utilizar o conector "T". Parmetros: Card - Indica qual a placa na qual ser configurado este parmetro Device - Indica qual dos troncos E1 ser configurado. Pode assumir E1_A(1) ou E1_B(2) Loop_Type Tipo de looping: - FRAMER_LOOP_OFF (0) - Sem looping - Opo padro e

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

390

Guia de Referncia
Funes/Mtodos
utilizada em operaes normais - FRAMER_LOOP_REMOTE (1) - Looping remoto - Testes de linha ou gravao em paralelo - FRAMER_LOOP_LOCAL (2) - Looping local - Utilizado somente em testes de assistncia tcnica Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro card fora do intervalo de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido (device ou loop_type)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

391

Guia de Referncia
Funes/Mtodos SetFrequency (dg_SetFrequency)

Modificar a frequncia padro de superviso do tom CFG_DETECT_FREQTONE1 Declaraes: ActiveX: SHORT SetFrequency(SHORT Card, SHORT Frequency); API: short dg_SetFrequency(short card, short Frequency); Descrio: A frequncia base para deteco dos tons de chamada, ocupado, etc... 425hz. Algumas centrais trabalham com valores diferentes do padro. Alterando esta frequncia as placas Digivoice passaro a monitorar outra faixa de tons. Ao atribuir este valor, todas as portas de todas as placas so afetados. Este mtodo mantido para fins de compatibilidade e para facilitar a mudana dessa frequncia, que a mais utilizada. Internamente ele faz chamada ao mtodo SetCardDetections(card, CFG_DETECT_FREQTONE1, Frequency, 0)

Parmetros: Card - Indica qual a placa na qual ser configurado este parmetro Frequency Valor da frequncia. O padro 425hz Valor de Retorno:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

392

Guia de Referncia
Funes/Mtodos
DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_CARD_OUT_OF_RANGE - Parmetro card fora do intervalo permitido, excedendo o nmero de placas instaladas DG_ERROR_PARAM_OUTOFRANGE - Valor da frequncia fora do intervalo entre 0 e 3000hz

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

393

Guia de Referncia
Funes/Mtodos

SetFXCardType (dg_SetFXCardType)

Configura o tipo da porta para a placa VB0404FX Declaraes: ActiveX: SHORT SetFXCardType(SHORT Port, SHORT Type); API: short dg_SetFXCardType(short Port, short Type); Parmetros: Port - Indica a porta da placa Type - O tipo que a porta ser configurada: 0 (DG_FX_TYPE_NONE) 1 (DG_FX_TYPE_FXS) 2 (DG_FX_TYPE_FXO) Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

394

Guia de Referncia
Funes/Mtodos SetGSMMode (dg_SetGSMMode)

Modificar o formato padro dos arquivos GSM Declaraes: ActiveX: SHORT SetGSMMode(SHORT Mode); API: short dg_SetFrequency(short mode); Descrio: Este mtodo configura a VoicerLib se dever ser utilizado o GSM compatvel com o Asterisk(c) (GSM_RAW) ou o GSM padro da Digivoice (GSM_DIGIVOICE). A diferena entre os dois formatos consiste apenas na existncia de um cabealho no padro Digivoice. A codificao em si a mesma e por isso no foi criado um novo formato de gravao. Este mtodo afeta todas as portas de todas as placas e o padro assumido atualmente o GSM_RAW que no contm cabealho no arquivo. Este mtodo, se for necessrio, pode ser chamado logo aps iniciar a VoicerLib(StartVoicerLib) Parmetros: Mode - GSM_RAW(1) ou GSM_DIGIVOICE(0) Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

395

Guia de Referncia
Funes/Mtodos SetHangUpCause (dg_SetHangUpCause)

Configura a causa do desligamento da porta no protocolo ISDN PRI. Declaraes: ActiveX: SHORT SetHangUpCause(SHORT Port, SHORT Cause); API: short dg_SetHangUpCause(short port, short cause); Descrio: Antes de excutar o comando HangUp possvel informar a causa do desligamento.

Este mtodo no deve ser executado quando receber o evento OnBusyDetected.

Parmetros: Port Indica a porta da placa Cause - Causa do desligamento Causas Normais ISDN_CAUSE_UNALLOCATED_NUMBER (1) ISDN_CAUSE_NO_ROUTE_SPECIFIC_TRANSIT_NETWORK (2) ISDN_CAUSE_NO_ROUTE_DESTINATION (3) ISDN_CAUSE_SEND_SPECIAL_INFORMATION_TONE (4) ISDN_CAUSE_MISDIALLED_TRUNK_PREFIX (5)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

396

Guia de Referncia
Funes/Mtodos
- ISDN_CAUSE_CHANNEL_UNACCEPTABLE (6) - ISDN_CAUSE_CALL_AWARDED (7) - ISDN_CAUSE_PREEMPTION (8) - ISDN_CAUSE_PREEMPTION_CIRCUIT_RESERVED (9) - ISDN_CAUSE_NORMAL_CALL_CLEARING (16) - ISDN_CAUSE_USER_BUSY (17) - ISDN_CAUSE_NO_USER_RESPONDING (18) - ISDN_CAUSE_NO_ANSWER_FROM_USER (19) - ISDN_CAUSE_SUBSCRIBER_ABSENT (20) - ISDN_CAUSE_CALL_REJECTED (21) - ISDN_CAUSE_NUMBER_CHANGED (22) - ISDN_CAUSE_REDIRECTION_TO_NEW_DESTINATION (23) - ISDN_CAUSE_EXCHANGE_ROUTING_ERROR (25) - ISDN_CAUSE_NON_SELECTED_USER_CLEARING (26) - ISDN_CAUSE_DESTINATION_OUT_OF_ORDER (27) - ISDN_CAUSE_INVALID_NUMBER_FORMAT (28) - ISDN_CAUSE_FACILITY_REJECTED (29) - ISDN_CAUSE_STATUS_ENQUIRY (30) - ISDN_CAUSE_NORMAL_UNSPECIFIED (31)

Valor de Retorno: DG_EXIT_SUCCESS - Setou a causa do desligamento com sucesso DG_ERROR_DRIVER_CLOSED - O driver no foi iniciado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta foi passado com valor zero ou maior do que o nmero de portas instaladas DG_ERROR_PORT_IS_NOT_IN_USE - A porta no est atendida

DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1
Veja Tambm: HangUp.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

397

Guia de Referncia
Funes/Mtodos SetLoggerSilenceThreshold (dg_SetLoggerSilenceThreshold)

Permite setar o limiar de silncio para as portas da placa VB6060 no caso de aplicaes utilizando o thread de Logger Declaraes: ActiveX: SHORT SetLoggerSilenceThreshold(SHORT Port, SHORT silence); API: short dg_SetLoggerSilenceThreshold(short port, short silence); Descrio: O limiar de silncio define, de modo simplificado, como a VoicerLib tratar os dgitos a serem detectados (MFF e MFT). O parmetro value pode variar de +12 at -42 dBm. O valor padro -30 dBm mas este valor pode ser alterado. Quanto mais prximo de zero, menos sensvel ser a deteco.

Parmetros: Port Indica a porta da placa silence - Valor em dBm, variando de -42 at +12 Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

398

Guia de Referncia
Funes/Mtodos
DG_ERROR_THREAD_NOT_RUNNING - A thread no foi inicializada ainda
DG_ERROR_INVALIDPARAM - Parmetro fora do intervalo permitido (-42 < Value < +12)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

399

Guia de Referncia
Funes/Mtodos

SetNameID (dg_SetNameID)

Especifica o nome da identificao de uma porta no tronco digital quando se utiliza protocolo ISDN PRI. Declaraes: ActiveX: SHORT SetNameID(SHORT Port, LPCTSTR Name); API: short dg_SetNameID(short port, char *szName); Descrio: Ao iniciar uma chamada, o ltimo nome de identificao configurado ser passado adiante e ser mantido para todas as chamadas. Parmetros: Port Indica a porta da placa Name - Nome identificador que ser passado na chamada Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

400

Guia de Referncia
Funes/Mtodos

SetNextE1RxCount (dg_SetNextE1RxCount)

Configura os prximos dgitos a serem recebidos na thread E1 Declaraes: ActiveX: SHORT SetNextE1RxCount(SHORT Port, SHORT Count); API: short Descrio: Complementar SetStartE1RxCount, este mtodo destinado a permitir o controle "manual" da troca de sinalizao R2D acontecendo em uma determinada porta. Este mtodo configura os prximos dgitos que a thread E1 receber antes de gerar o evento OnE1StateChange com status C_NUMBER_RECEIVED. Utilize apenas este mtodo caso seja necessrio o tipo controle explicado. Caso seja utilizada uma sinalizao tradicional, d preferncias s configuraes do mtodo ConfigE1Thread. Parmetros: Port Indica a porta da placa Count - Nmero de dgitos a serem esperados Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro count fora do dg_SetNextE1RxCount(short port, short count);

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

401

Guia de Referncia
Funes/Mtodos
intervalo permitido (0 < count < 30) DG_ERROR_THREAD_NOT_RUNNING - Thread E1 no foi iniciada pelo CreateE1Thread

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

402

Guia de Referncia
Funes/Mtodos

SetPlayFormat (dg_SetPlayFormat)

Especifica o formato de reproduo de uma porta. Declaraes: ActiveX: SHORT SetPlayFormat(SHORT Port, SHORT FileFormat); API: short dg_SetPlayFormat(short port, enum EnumFileFormat file_format); Descrio: O mtodo SetPlayFormat permite indicar formatos de reproduo diferentes por canal, os outros canais assumiro o formato especificado na propriedade FileFormat, que determina o formato para todos os canais. Como o novo formato GSM oferece uma qualidade de udio inferior ao Wave pode ser necessrio gravar em GSM e reproduzir mensagens no formato Wave. Com este mtodo possvel manter formatos de reproduo diferentes no mesma porta ou em canais distintos. O PlayFile detecta automaticamente o tipo de arquivo, baseado na extenso wave, detecta se PCM ou LeiMi. Isso permite uso de diversos formatos para reproduo sem preocupao para o programador. Se for utilizado uma extenso desconhecida, fica valendo o que est especificado no SetPlayFormat. Parmetros: Port Indica a porta da placa. FileFormat Formato para reproduo. 0 - ffWaveULaw (Lei mi) 1 - ffSig - obsoleto - forado formato ffWaveULaw 2 - ffWavePCM

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

403

Guia de Referncia
Funes/Mtodos
3 - ffGsm610 4 - ffWaveALaw (Lei A) 5 - ffWave49 Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

404

Guia de Referncia
Funes/Mtodos

SetPortChatLog(dg_SetPortChatLog)

Conecta uma conferncia a uma porta especfica para fins de gravao Declaraes: ActiveX: SHORT SetPortChatLog(SHORT Port, SHORT ChatRoom, SHORT Enable); API: short dg_SetPortChatLog(short port , long ChatRoom, short enable); Descrio: Este mtodo dever ser utilizado quando deseja gravar uma sala de conferncia (chat room) que pode ser uma conferncia de apenas 2 canais (utilizada na gravao em paralelo) ou uma com vrias portas conectadas. Quando uma conferncia (chat room) criada atravs do mtodo CreateChatRoom ele recebe um handle que um identificador nico para esta sala. Este handle o que dever passado no parmetro ChatRoom. A eventual gravao da conferncia indicada por ChatRoom dever ser iniciada na porta port que a porta que ouve todas as outras da sala de conferncia. Port no pode fazer parte da conferncia. O parmetro Enable pode receber DG_ENABLE(1), para ligar a porta sala ou DG_DISABLE(0) para deslig-la. Parmetros: Port Indica a porta da placa que gravar a conferncia. ChatRoom Indicador da sala de conferncia criada por

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

405

Guia de Referncia
Funes/Mtodos
CreateChatRoom Enable DG_ENABLE ou DG_DISABLE Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_EXIT_FAILURE - Erro ao tentar executar o comando

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

406

Guia de Referncia
Funes/Mtodos SetPortGain (dg_SetPortGain)

Especifica o ganho para a uma determinada porta Declaraes: ActiveX: SHORT SetPortGain(SHORT Port, SHORT txrx, SHORT Value); API: short dg_SetPortGain(short port, short rx_tx, short value); Descrio: Este mtodo permite dar ganho/atenuao em uma determinada porta, no RX e TX separadamente. Com isso, possvel controlar a qualidade do udio que se "escuta" ou o que se "fala". O padro ganho zero. Cada 6dB a menos, equivale a metade de ganho e a cada 6dB a mais equivale ao dobro. Parmetros: Port Indica a porta da placa rx_tx Indica se o valor ser alterado no RX ou no TX. Para isso pode-se utilizar as constantes TX_GAIN (0) ou RX_GAIN (1) Value Valor de ganho a ser passado no mtodo, podendo variar de -42 dBm at +12 dBm Valores de Retorno: EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetros port fora do intervalo especificado DG_ERROR_PARAM_OUTOFRANGE - Este erro pode ocorrer caso

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

407

Guia de Referncia
Funes/Mtodos
se especifique Value maior que 12 ou menor que -42, ou parmetro txrx diferente do previsto

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

408

Guia de Referncia
Funes/Mtodos

SetPortID (dg_SetPortID)

Especifica a identificao de uma porta no tronco digital quando se utiliza uma das threads de controle. Declaraes: ActiveX: SHORT SetPortID(SHORT Port, LPCTSTR ID); API: short dg_SetPortId(short port, char *szID); Descrio: Este mtodo permite identificar cada porta um nmero de identificao diferente a ser fornecido ao destino como BINA. Ao iniciar uma chamada, a ltima identificao de porta configurada ser passada adiante e ser mantida para todas as chamadas. Parmetros: Port Indica a porta da placa ID String contendo o nmero de identificao da porta Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

409

Guia de Referncia
Funes/Mtodos SetRecordFormat (dg_SetRecordFormat)

Especifica o formato de gravao de uma porta Declaraes: ActiveX: SHORT SetRecordFormat(SHORT Port, SHORT FileFormat); API: short dg_SetRecordFormat(short port, enum EnumFileFormat file_format);

Descrio: O mtodo SetRecordFormat permite indicar formatos de gravao diferentes por canal, os outros canais assumiro o formato especificado na propriedade FileFormat, que determina o formato para todos os canais. Como o novo formato GSM oferece uma qualidade de udio inferior ao Wave pode ser necessrio gravar em GSM e reproduzir mensagens no formato Wave. Com este mtodo possvel manter formatos de gravao diferentes no mesma porta ou em portas distintos. possvel alterar o formato de gravao sem a necessidade de chamar o mtodo DisableInputBuffer porm no possvel faz-lo com uma gravao em curso Parmetros: Port Indica a porta da placa FileFormat Formato para gravao 0 - ffWave 1 - ffSig obsoleto - forado formato ffWaveULaw 2 - ffWavePCM 3 - ffGsm610

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

410

Guia de Referncia
Funes/Mtodos
4 - ffWaveALaw (Lei A) 5 - ffWave49 Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_REC_ALREADY_RECORDING - Operao no permitida pois a porta est gravando

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

411

Guia de Referncia
Funes/Mtodos SetReverseCharging (dg_SetReverseCharging)

Solicita a inverso de cobrana para chamada sainte. Declaraes: ActiveX: SHORT SetReverseCharging(SHORT Port, SHORT Reverse_Charging); API: short dg_SetReverseCharging(short port, short reverse_charging); Descrio: Ao iniciar uma chamada, a ltima configurao ser passada adiante e ser mantida para todas as chamadas. Parmetros: Port Indica a porta da placa Reverse_Charging - Desabilita (DG_DISABLE (0)) ou habilita a solicitao (DG_ENABLE (1))

Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

412

Guia de Referncia
Funes/Mtodos SetRecordGain (dg_SetRecordGain)

Especifica o ganho para a gravao Declaraes: ActiveX: SHORT SetRecordGain(SHORT Port, SHORT Gain); API: short dg_SetRecordGain(short port, short gain); Descrio: Especifica o ganho para a gravao de uma porta independente. O ganho de gravao aqui pode variar de -42dB at +12dB. Nesta opo, o mtodo apenas uma interface para o mtodo SetPortGain, aplicando ganho apenas no RX. O padro do ganho zero. Como o ganho interferir na qualidade do udio, a checagem de intervalo faz com que um Gain menor que -40dB seja utilizado 40dB. E Gain maior que +12dB fixado em +12dB. Parmetros: Port Indica a porta da placa Ganho Valores conforme o tipo da placa (-40 at +12) Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetros fora do intervalo especificado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

413

Guia de Referncia
Funes/Mtodos SetSilenceThreshold (dg_SetSilenceThreshold)

Permite definir o limiar de silncio relacionado s deteces de dgitos Declaraes: ActiveX: SHORT SetSilenceThreshold(SHORT Port, SHORT Value); API: short dg_SetSilenceThreshold(short port, short value); Descrio: O limiar de silncio define, de modo simplificado, como a VoicerLib tratar os dgitos a serem detectados (DTMF, MFF, MFT, etc...). O parmetro value pode variar de 0 at -42 dBm. O valor padro 30 dBm mas este valor pode ser alterado. Quanto mais prximo de zero, menos sensvel ser a deteco. Este limiar de silncio tem resoluo de 3dB, portanto, -42dB e 39dB tem o mesmo efeito na placa.

Parmetros: Port Indica a porta da placa Value - Valor em dBm, variando de 0 at -42 Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

414

Guia de Referncia
Funes/Mtodos
DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

415

Guia de Referncia
Funes/Mtodos

SetStartE1RxCount (dg_SetStartE1RxCount)

Configura o nmero inicial de dgitos a serem recebidos na thread E1 Declaraes: ActiveX: SHORT SetStartE1RxCount(SHORT Port, SHORT Count); API: short dg_SetStartE1RxCount(short port, short count); Descrio: Este mtodo destinado a permitir o controle "manual" da troca de sinalizao R2D acontecendo em uma determinada porta. Muitas vezes uma aplicao precisa ir analisando os dgitos recebidos um a um, permitindo algum tipo de encaminhamento especfico, analise de rotas, etc... Ela configura o nmero inicial de dgitos que a thread E1 receber antes de gerar o evento OnE1StateChange com status C_NUMBER_RECEIVED. Utilize apenas este mtodo caso seja necessrio o tipo controle explicado. Caso seja utilizada uma sinalizao tradicional, d preferncias s configuraes do mtodo ConfigE1Thread. Parmetros: Port Indica a porta da placa Count - Nmero de dgitos a serem esperados Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

416

Guia de Referncia
Funes/Mtodos
DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro count fora do intervalo permitido (0 < count < 30)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

417

Guia de Referncia
Funes/Mtodos

SetText (dg_SetText)

Especifica uma mensagem de texto a ser enviada pela VoicerLib por uma porta no tronco digital no protocolo ISDN PRI.

Declaraes: ActiveX: SHORT SetText(SHORT Port, LPCTSTR Text); API: short dg_SetText(short port, char * szText); Descrio: A mensagem no pode exceder 128 caracteres e deve ser finalizada com '\0'. A mensagem poder conter CR (0xd) ou LF (0xa). As mensagens devem ser compostas de caracteres ANSI (tabela ASCII Normal), no utilizar caracteres especiais nem acentuados. Utilize este mtodo somente antes da execuo do mtodo Dial. Ao iniciar uma chamada, a ltima mensagem de texto configurada ser passada adiante e ser mantida para todas as chamadas. Parmetros: Port Indica a porta da placa Text - Mensagem de texto a ser enviada

Valor de Retorno: DG_EXIT_SUCCESS: Executado com sucesso DG_ERROR_DRIVER_CLOSED: O driver no foi iniciado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

418

Guia de Referncia
Funes/Mtodos
DG_ERROR_PORT_OUT_OF_RANGE: Parmetro porta foi passado com valor zero ou maior do que o nmero de portas instaladas DG_FEATURE_NOT_SUPPORTED - Comando invlido para o protocolo ISDN PRI ou a placa instalada no de interface E1

SetTwist (dg_SetTwist)

Configura os nveis de rigor para a deteco de dgitos Declaraes: ActiveX: SHORT SetTwist(SHORT Port, SHORT Twist1, SHORT Twist2); API: short dg_SetTwist(short port, short twist1, short twist2); Descrio: A VoicerLib procura, como padro, manter uma boa relao entre uma boa deteco de dgitos sem, no entanto, pegar talkoffs (falsos dgitos). Isso feito atravs de clculos entre as frequncias encontradas nos DTMFs. O Twist1 a diferena mxima aceita entre a primeira e segunda frequncias tem valor padro de 9dB. J o Twist2 a diferena mnima das duas primeiras frequncias com uma eventual terceira frequncia e tem valor padro de 15dB. No Twist1, quanto maior o valor, menor o rigor na deteco. No Twist2, quanto maior o valor, maior o rigor. Parmetros:

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

419

Guia de Referncia
Funes/Mtodos
Port Indica a porta da placa Twist1 - Diferena em dB entre a primeira e segunda frequncia de DTMF -> maior valor, *menor* rigor Twist2 - Diferena entre as primeiras duas frequncias e uma terceira -> maior valor, *mais* rigor

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro porta fora do intervalo permitido, excedendo o nmero de portas instaladas DG_ERROR_PARAM_OUTOFRANGE - Parmetro fora do intervalo permitido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

420

Guia de Referncia
Funes/Mtodos ShutdownVoicerLib (dg_ShutdownVoicerLib)

Finaliza a comunicao da placa com a aplicao Declaraes: ActiveX: SHORT ShutdownVoicerLib(void); API: short dg_ShutdownVoicerLib(void); Descrio: Este mtodo faz com que se finalize a comunicao da placa com a aplicao. Logo, a sua chamada dever ser a ltima coisa que o programador dever fazer antes de sair da aplicao. Caso a aplicao seja encerrada sem que o este mtodo tenha sido chamado, o micro corre o risco de "travar" a qualquer momento pois recursos de memria e interrupo ficam ativos. Ento, NUNCA FECHE A APLICAO ANTES DE CHAMAR ESTE MTODO. Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - A VoicerLib j est finalizada (no necessariamente um erro, pode ser simplesmente ignorado)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

421

Guia de Referncia
Funes/Mtodos StartVoicerLib (dg_StartVoicerLib)

Inicializa a comunicao da placa com a aplicao. Declaraes: ActiveX: SHORT StartVoicerLib(void); API: short dg_StartVoicerlib(char *szConfigPath);

Descrio: Este mtodo faz com que se inicie a comunicao da placa com a aplicao. A sua chamada dever ser a primeira coisa que o programador dever fazer na aplicao. No ActiveX, pode-se preencher a propriedade ConfigPath com o caminho dos arquivos de configurao com extenso .i00 . Caso esta propriedade esteja vazia a VoicerLib assumir como padro o diretrio \%PROGRAM FILES%\VoicerLib4. A mesma regra se aplica ao parmentro szConfigPath na API. Sempre dever ser testado os valores de retorno para poder diagnosticar algum problema no caso do valor ser diferente de DG_EXIT_SUCCESS.

Valores de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_MEMORY_ALLOCATION - Memria insuficiente para iniciar os servios DG_ERROR_DRIVER_ALREADY_OPEN - Driver j est inicializado DG_ERROR_READING_PORTCOUNT - O nmero de portas lido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

422

Guia de Referncia
Funes/Mtodos
inconsistente, muito provavelmente causado por problemas de I/O no barramento PCI DG_ERROR_LOADING_DEVICEDRIVER - Erro ao iniciar o device driver. S acontece no caso de uma instalao incompleta ou corrompida. DG_ERROR_CREATING_EVENT - Erro ao criar eventos de controle da VoicerLib DG_ERROR_COULD_NOT_CREATE_THREAD - Erro ao criar threads de controle. DG_ERROR_MAXCARDS - Falha na recuperao do nmero de placas instaladas Veja Tambm: ShutdownVoicerLib

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

423

Guia de Referncia
Funes/Mtodos StopPlayBuffer (dg_StopPlayBuffer)

Interrompe a reproduo iniciada pelo PlayBuffer Declaraes: ActiveX: SHORT StopPlayBuffer(SHORT Port); API: short dg_StopPlayBuffer(short port); Descrio: Este mtodo envia para a placa um comando dizendo para que a reproduo dos seus buffers internos seja interrompida. Deve ser chamado sempre quando no h mais amostras a serem enviadas pelo PlayBuffer. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_ALREADY_PLAYING - A porta est ocupada por uma reproduo de arquivo DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

424

Guia de Referncia
Funes/Mtodos StopPlayFile (dg_StopPlayFile)

Interrompe a reproduo de um arquivo de udio. Declaraes: ActiveX: SHORT StopPlayFile(SHORT Port); API: short dg_StopPlayFile(short port); Descrio: Este mtodo interrompe a reproduo de um arquivo de udio. Neste caso, o evento OnPlayStop gerado e o parmetro Status receber o valor ssStopped. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_NOT_PLAYING - A porta no est reproduzindo nada DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

425

Guia de Referncia
Funes/Mtodos StopRecordFile (dg_StopRecordFile)
Interrompe a gravao de um arquivo. Declaraes: ActiveX: SHORT StopRecordFile(SHORT Port); API: short dg_StopRecordFile(short port); Descrio: Este mtodo interrompe a gravao de um arquivo sem cancelar o envio de amostras para a VoicerLib. Chamando este mtodo, o evento OnRecordStop gerado e o parmetro Status receber o valor ssStopped. Para cancelar o envio de amostras, o mtodo DisableInputBuffer deve ser chamado. Parmetros: Port Indica a porta da placa Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido DG_ERROR_THREAD_NOT_RUNNING - O envio de amostras da placa no foi habilitado e, portanto no h gravao para finalizar

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

426

Guia de Referncia
Funes/Mtodos TxRxMixEnable (dg_TxRxMixEnable)
Possibilita gravao do TX e RX. Apesar de funcionar em qualquer placa com interfaces analgicas ou digitais, foi desenvolvida para uso em URAs desenvolvidas com placas de interfaces digitais.

Declaraes: ActiveX: SHORT TxRxMixEnable(SHORT Port, SHORT Enable); API: void TxRxMixEnable(short port, short enable);

Parmetros: Port Indica a porta da placa Enable - DG_ENABLE ou DG_DISABLE Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_DRIVER_CLOSED - Driver desabilitado DG_ERROR_PORT_OUT_OF_RANGE - Parmetro fora do intervalo permitido DG_ERROR_PARAM_OUTOFRANGE - Parmetro Enable fora do intervalo permitido (DG_ENABLE ou DG_DISABLE)

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

427

Guia de Referncia
Funes/Mtodos Wave49ToGsm (dg_Wave49ToGsm)

Converte arquivo de udio do formato Wave49 para o formato GSM Declaraes: ActiveX: SHORT Wave49ToGsm(LPCTSTR Source, LPCTSTR Target); API: SHORT dg_Wave49ToGsm(char *Source, char *Target); Parmetros: Source - String contendo o nome e o caminho completo do arquivo Wave49 que ser convertido Target - String contendo o nome e o caminho completo do arquivo Gsm que ser gravad

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CONV_SOURCE - Erro ao abrir o arquivo de origem DG_ERROR_CONV_TARGET - Erro ao abrir o arquivo de destino DG_ERROR_CONV - Erro indeterminado na converso Veja tambm: GsmToWave49. OBS.: O arquivo wave tem ser do formato Wave 49 (GSM 6.10 modificado) para que a converso seja possvel

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

428

Guia de Referncia
Funes/Mtodos Wave49ToGsmRaw (dg_Wave49ToGsmRaw)

Converte arquivo de udio do formato Wave49 para o formato GSMRaw (sem cabealho) Declaraes: ActiveX: SHORT Wave49ToGsmRaw(LPCTSTR Source, LPCTSTR Target); API: SHORT dg_Wave49ToGsmRaw(char *Source, char *Target); Parmetros: Source - String contendo o nome e o caminho completo do arquivo Wave49 que ser convertido Target - String contendo o nome e o caminho completo do arquivo GsmRaw que ser gravado

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CONV_SOURCE - Erro ao abrir o arquivo de origem DG_ERROR_CONV_TARGET - Erro ao abrir o arquivo de destino DG_ERROR_CONV - Erro indeterminado na converso Veja tambm: GsmRawToWave49. OBS.: O arquivo wave tem ser do formato Wave 49 (GSM 6.10 modificado) para que a converso seja possvel

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

429

Guia de Referncia
Funes/Mtodos WaveToGsm (dg_WaveToGsm)

Converte arquivo de udio do formato Wave para o formato GSM Declaraes: ActiveX: SHORT WaveToGsm(LPCTSTR Source, LPCTSTR Target); API: SHORT dg_WaveToGsm(char *Source, char *Target); Parmetros: Source - String contendo o nome e o caminho completo do arquivo Wave que ser convertido Target - String contendo o nome e o caminho completo do arquivo Gsm que ser gravado

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CONV_SOURCE - Erro ao abrir o arquivo de origem DG_ERROR_CONV_TARGET - Erro ao abrir o arquivo de destino DG_ERROR_CONV - Erro indeterminado na converso

Veja tambm: GsmToWave. OBS.: O arquivo wave tem que ser do formato: 8kHz, 16 bits, Mono para que a converso seja possvel.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

430

Guia de Referncia
Funes/Mtodos WaveToGsmRaw (dg_WaveToGsmRaw)

Converte arquivo de udio do formato Wave para o formato GsmRaw (sem cabealho) Declaraes: ActiveX: SHORT WaveToGsmRaw(LPCTSTR Source, LPCTSTR Target); API: SHORT dg_WaveToGsmRaw(char *Source, char *Target); Parmetros: Source - String contendo o nome e o caminho completo do arquivo Wave que ser convertido Target - String contendo o nome e o caminho completo do arquivo GsmRaw que ser gravado

Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CONV_SOURCE - Erro ao abrir o arquivo de origem DG_ERROR_CONV_TARGET - Erro ao abrir o arquivo de destino DG_ERROR_CONV - Erro indeterminado na converso Veja tambm: GsmRawToWave. OBS.: O arquivo wave tem que ser do formato: 8kHz, 16 bits, Mono para que a converso seja possvel

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

431

Guia de Referncia
Funes/Mtodos WriteCode (dg_WriteCode)

Permite gravar string de segurana na memria da placa Declaraes: ActiveX: SHORT WriteCode(SHORT wCard, SHORT *wNewData); API: SHORT dg_WriteCode(short wCard, short *wNewData); Parmetros: wCard - A placa que dever ser gravada wNewData - Dado a ser gravado Valor de Retorno: DG_EXIT_SUCCESS - Executado com sucesso DG_ERROR_CARD_OUT_OF_RANGE - Parmetro placa foi passado com valor maior do que o nmero de placas instaladas

Veja tambm: CheckCode.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

432

Guia de Referncia
Eventos

Eventos
Conceitualmente, eventos e mensagens se referem mesma coisa, ou seja, so avisos que a VoicerLib repassa para a aplicao, indicando o acontecimento de algo ou resposta de alguma ao iniciada atravs de comando do programa. No ActiveX, estes avisos so chamados de eventos, termo usual aos programadores que utilizam ferramentas visuais, como Delphi ou Visual Basic. J o termo mensagem mais genrico e conhecido dos programadores habituados a utilizar C/C++. Normalmente, quando um evento tratado no programa, a ferramenta visual gera uma rotina que ser responsvel por tratar este evento. Todas estas rotinas assumiro o nome padro Onxxxxx onde o xxxxx indicar o tipo do evento. Estas rotinas recebero parmetros padres, de acordo com a funcionalidade de cada evento. Alguns recebem apenas a porta, outros alm da porta, recebem um estado ou qualquer outro tipo de identificao. Neste guia de referncia, estes parmetros sero relacionados no item Parmetros Recebidos de cada evento. Nas funes de API, a VoicerLib repassa os eventos que ocorrem na placa atravs das mensagens que devem ser tratadas em uma rotina especfica, que foi chamada ReceiveEvents (leia o captulo "Conceitos Basicos - API"). Neste Guia de Referncia os dados referentes ao context_data so relacionados no item Context_Data (API).

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

433

Guia de Referncia
Eventos OnAfterDial (EV_AFTERDIAL)
Ocorre ao trmino de uma discagem feita por um nico comando Dial. Descrio: Para efetuar uma discagem, necessrio utilizar o mtodo Dial, que pode discar de 1 a 28 nmeros. Visando facilitar o controle de fluxo do programa, o evento OnAfterDial ocorrer to logo todos os dgitos passados como parmetro no mtodo Dial sejam discados pela placa. Se for utilizado o parmetro PauseAfterDial do mtodo Dial, o evento OnAfterDial s ser gerado aps a discagem mais a pausa. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_AFTERDIAL (0x2b) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

434

Guia de Referncia
Eventos OnAfterFlash (EV_AFTERFLASH)
Ocorre ao trmino de um comando Flash Descrio: De maneira semelhante ao evento OnAfterDial, o evento OnAfterFlash ocorrer ao trmino do comando executado pelo mtodo Flash Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_AFTERFLASH (0x2c) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

435

Guia de Referncia
Eventos OnAfterMakeCall
Ocorre ao trmino do mtodo de discagem MakeCall Descrio: Ocorre ao trmino da discagem com superviso quando utilizado o MakeCall, disponvel somente no ActiveX.

Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Status Pode assumir: - mkOK (0) - Discou com sucesso - mkNoDialTone (1) Sem tom de discagem - mkDelivered (2) Ligao entregue sem superviso - mkNoAnswer (3) Ligao no foi atendida - mkBusy (4) Ligao ocupada - mkAnswered (5) - Ligao atendida - mkAborted (6) Ligao cancelada pelo AbortCall - mkDialToneAfterDial (7) - Indica recebimento de tom de linha depois da discagem. Normalmente esta situao indica algum problema com o ambiente (PABX, linha, etc...) - mkFaxDetected (8) - Indica deteco de fax

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

436

Guia de Referncia
Eventos OnAfterPickUp (EV_AFTERPICKUP)
Ocorre ao trmino de um comando PickUp. Descrio: De maneira semelhante ao evento OnAfterDial, o evento OnAfterPickUP ocorrer aps a pausa determinada na chamada do mtodo PickUp. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_AFTERPICKUP (0x2d) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

437

Guia de Referncia
Eventos OnAnswerDetected (EV_ANSWERED)
Ocorre quando a placa detecta atendimento da ligao originada. Descrio: A placa possui recursos de monitorao do status da linha ela conectada, e de repass-los para a aplicao. Para tanto, ela deve ser habilitada a utilizar estes recursos. Nas placas FXO, o programador tem a flexibilidade de a qualquer ponto da aplicao habilitar e desabilitar tais recursos, fazendo uso dos mtodos EnableAnswerDetection para habilitar e DisableAnswerDetection para desabilitar. Quando uma ligao originada pela placa, e os recursos citados estiverem habilitados, o evento OnAnswerDetected ocorrer no momento em que essa ligao for atendida. Isto vlido tambm para a placa digital, pois ao receber o atendimento, a VoicerLib tambm gera o evento. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento AnswerType - Indica se o atendimento foi por udio (AUDIO_DETECTED - 0) ou por timeout (TIMEOUT_DETECTED - 1) Context_Data (API): command - EV_ANSWERED (0x1f) port: Indica a porta da placa que gerou o evento data: Mesmos valores do parmetro AnswerType data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

438

Guia de Referncia
Eventos OnAudioSignalDetected (EV_AUDIO_SIGNAL)
Ocorre quando a porta recebe um sinal de udio, MF, tom, etc... Descrio: Este evento tem por finalidade facilitar a anlise dos sinais recebidos e suas respectivas cadncias pois repassa para a aplicao todos os sinais recebidos, sem tratamento nenhum. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento SignalCode: Indica o sinal de udio recebido: - CP_SILENCE=20H - CP_AUDIO=21H - CP_TONE1=22H - CP_TONE2=23H - CP_TONE3=24H - CP_TONE4=25H - CP_TONE5=26H - CP_TONE6=27H - CP_TONE7=28H - CP_TONE8=29H - CP_UNDEFINED = 0x40 - CP_INVALID = 0x41

Context_Data (API): command - EV_AUDIO_SIGNAL (0x3e) port/card: Indica a porta que gerou o evento data: Mesmos valores do parmetro SignalCode data_aux: No utilizado card: Indica a placa que gerou o evento

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

439

Guia de Referncia
Eventos OnBusyDetected (EV_BUSY)
Ocorre quando a placa detecta tom de ocupado na linha. Descrio: Nas placas analgicas, o programador tem a flexibilidade de a qualquer ponto da aplicao habilitar e desabilitar tais recursos, fazendo uso dos mtodos EnableCallProgress para habilitar e DisableCallProgress para desabilitar. Sempre quando a placa tomar a linha conectada ela, para originar uma ligao, e receber tom de ocupado, o evento OnBusyDetected ocorrer, desde que os recursos de monitorao estejam habilitados. Isto vlido tambm para a placa digital ao receber bloqueio, no disponibilidade da porta, etc... a VoicerLib tambm gera o evento. No protocolo ISDN PRI, possvel executar o mtodo GetBusyCause para obter a causa do desligamento.

Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_BUSY (0x21) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

440

Guia de Referncia
Eventos OnCallerID (EV_CALLERID)
Ocorre quando a placa detecta o identificador de A. Descrio: Este evento gerado quando o identificador de A recebido pelo tronco. possvel ler o nmero atravs do mtodo GetCallerID. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Nmero Nmero identificado exatamente como enviado pela companhia telefnica Context_Data (API): command - EV_CALLERID (0x32) port: Indica a porta da placa que gerou o evento data: Quantidade de dgitos disponveis para leitura data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

441

Guia de Referncia
Eventos OnCalling (EV_CALLING)
Ocorre quando a placa detecta tom chamada na linha Descrio: Nas placas analgicas, o programador tem a flexibilidade de a qualquer ponto da aplicao habilitar e desabilitar tais recursos, fazendo uso dos mtodos EnableCallProgress para habilitar e DisableCallProgress para desabilitar. Sempre quando a placa tomar a linha conectada ela, originar uma ligao e receber tom de chamada, o evento OnCalling ocorrer, desde que os recursos de monitorao estejam habilitados. Isto vlido tambm para a placa digital, pois ao finalizar a troca de sinalizao R2D MFC, a VoicerLib tambm gera o evento na cadncia 1x4 (1 segundo de tom para 4 de intervalo). Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_CALLING (0x1d) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

442

Guia de Referncia
Eventos OnCallStateChange
Ocorre em vrias situaes durante o MakeCall, disponvel somente no ActiveX Descrio: O mtodo MakeCall inicia uma discagem completa, com superviso, frase inicial, discagem, etc... O evento OnCallStateChange indica, por canal, em qual etapa o MakeCall est no momento. Este evento deve ser utilizado para fins de monitoramento e depurao de programas. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Status - Indica o estado atual do MakeCall, podendo assumir os seguintes valores: - csPlayingStartPhrase (0) - Falando frase inicial - csPickingUp (1) - Iniciando discagem sem transferncia - csInitialFlash (2) - Dando flash inicial - csDialingPrefix (3) - Prefixo apos o flash - csStartAnalysis (4) - Iniciando superviso - csNoAnswerReturn (5) - Retomada em caso de no atendimento - csPlayingBusyPhrase (6) - Falando frase de retorno no caso de ocupado - csPlayingNoAnswerPhrase (7) - Falando frase de retorno no caso de ocupado - csWaitingDialTone (8) - Esperando tom de discagem - csDialing (9) - Discando - csCalling (10) - Chamando

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

443

Guia de Referncia
Eventos OnChannel (EV_CHANNEL)
Indica a mudana de porta de uma chamada. Descrio: Este evento ocorrer sempre que a porta escolhida estiver ocupada e outra porta for alocada para a chamada. Lembrando que este evento no ocorrer quando o parmetro

ISDN_SET_EXCLUSIVE_CHANNEL (ConfigISDNThread) estiver desabilitado (DG_DISABLE).


Caso a configurao

ISDN_SET_EXCLUSIVE_CHANNEL (ConfigISDNThread) estiver habilitada (DG_ENABLE) e a porta escolhida estiver ocupada, o evento de ocupado ser gerado (OnBusyDetected).

Parmetros Recebidos (ActiveX): OldPort Indica a porta antiga NewPort - Indica a porta nova Context_Data (API): command - EV_CHANNEL (0x70) port: porta antiga data: porta nova data_aux: No utilizado card: No utilizado Veja Tambm: ConfigISDNThread.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

444

Guia de Referncia
Eventos OnDialToneDetected (EV_DIALTONE)
Ocorre quando a placa detecta tom de discagem na linha. Descrio: Nas placas analgicas, o programador tem a flexibilidade de a qualquer ponto da aplicao habilitar e desabilitar tais recursos, fazendo uso dos mtodos EnableCallProgress para habilitar e DisableCallProgress para desabilitar. Tambm necessrio configurar a frequncia de tons de acordo com a Central PABX utilizada (SetFrequency). Sempre quando a placa tomar a linha conectada ela para originar uma ligao e receber um tom de discagem, o evento OnDialToneDetected ocorrer. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_DIALTONE (0x1e) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

445

Guia de Referncia
Eventos OnDigitDetected (EV_DTMF)
Ocorre sempre que a placa detecta um dgito Descrio: Toda vez que a placa detectar um dgito (DTMF, MFF, MFT, etc), o evento OnDigitDetected ocorrer, e o cdigo ASCII dgito ser passado atravs do parmetro Digit. Um dgito DTMF um par de frequncias pr-definidas e na faixa da voz. O programador deve estar ciente que a placa sempre est habilitada a detectar os dgitos, logo, durante uma conversao comum a placa detectar alguns dgitos indevidamente, pois ela analisa todo o contedo de frequncia da voz dos locutores e toda vez em que ela encontrar na voz um par de frequncias que coincidam com um dgito DTMF, o evento OnDigitDetected ocorrer. Quando o programador quiser validar os dgitos apenas em certos momentos, necessrio fazer uso do mtodo GetDigits e do evento OnDigitsReceived ao invs de tratar dgito a dgito. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Digit Cdigo ASCII do dgito recebido Context_Data (API): command - EV_DTMF (0x1c) port: Indica a porta da placa que gerou o evento data: Cdigo ASCII do dgito recebido data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

446

Guia de Referncia
Eventos OnDigitsReceived (EV_DIGITSRECEIVED)
Ocorre sempre em resposta ao mtodo GetDigits chamado. Descrio: Este evento ocorre em resposta ao mtodo GetDigits. Basicamente este mtodo espera um determinado nmero de dgitos e/ou finalizador por um intervalo de tempo. Os dgitos detectados devem ser recuperados atravs do mtodo ReadDigits. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Status Indica qual das situaes gerou o evento: edOff (0) - Desligado edWaiting (1) - Em espera edMaxDigits (2) Recebeu o nmero mximo de dgitos estipulado edDigitTimeout (3) Estourou o tempo total para entrada de todos os dgitos edInterDigitTimeOut (4) Estourou o tempo interdgito edTermDigit (5) Recebeu o dgito finalizador edDigitOverMessage (6) Detectou dgito durante a reproduo Context_Data (API): command - EV_DIGITSRECEIVED (0x31) port: Indica a porta da placa que gerou o evento data: Cdigo ASCII do dgito recebido - EdMaxDigits(2) Recebeu o nmero mximo de dgitos estipulado. - EdTermDigit(5) Recebeu o digito finalizador - EdDigitTimeout(3) Estourou o tempo total para entrada de todos os dgitos. - EdInterDigitTimeOut(4) Estourou o tempo inter-dgito. - EdDigitOverMessage Detectou dgito durante a reproduo data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

447

Guia de Referncia
Eventos OnE1Alarm (EV_E1_ALARM)
Indica a ocorrncia de um alarme nos framers E1 Descrio: A monitorao dos alarmes essncial para o funcionamento das aplicaes que utilizam a placa E1. Parmetros Recebidos: Card Indica a placa da placa que gerou o evento E1ID - Indica qual dos 2 framers E1 gerou o alarme AlarmCode - Mostra o alarme gerado: - ALARM_RSLIP (0x01) - Escorregamento (problema de sincronismo) - ALARM_RAIS (0x02) - Alarme remoto - ALARM_AISS (0x04) - Indicao de alarme - ALARM_AIS16S (0x08) - Indicao de alarme canal 16 - ALARM_LOSS (0x10) - Perda de sinal - ALARM_CRC4SYNC (0x20) - Alarme de CRC4 - ALARM_MFSYNC (0x40) - Sincronismo de multiquadro - ALARM_SYNC (0x80) - Sincronismo de quadro - ALARM_LINK (0x100) - Sincronismo do protocolo ISDN

AlarmData - Se for ALARM_RSLIP, indica o contador de vezes que detectou o escorregamento. Nos outros alarmes, pode receber ON (1) ou OFF (0). Context_Data (API): command - EV_E1_ALARM (0x38) port: Indica a placa que gerou o evento data: Cdigo do alarme (opes do AlarmCode) data_aux: Estado do alarme (ON/OFF), contador no caso do SLIP card: Indica a placa que gerou o evento

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

448

Guia de Referncia
Eventos OnE1FramerResponse (EV_FRAMER)
Ocorre sempre que for solicitado um comando para o Framer E1 Descrio: Este evento permite analisar a situao dos framers E1 e dever somente ser utilizado quando houver algum problema de comunicao com uma outra central por exemplo. Parmetros Recebidos: Card Indica a placa que gerou o evento Data1 - Dado indicativo do primeiro framer Data2 - Dado indicativo do segundo framer Context_Data (API): command - EV_FRAMER (0x3b) port: Indica a placa que gerou o evento data: Dado indicativo do primeiro framer data_aux: Dado indicativo do segundo framer card: Indica a placa que gerou o evento

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

449

Guia de Referncia
Eventos OnE1GroupB (EV_GROUP_B)
Ocorre quando a thread E1 recebe um grupo B Descrio: Este evento ocorrer sempre quando a thread E1 estiver em uso. Parmetros Recebidos: Card Indica a porta da placa que gerou o evento Value: Indica o tipo de dado Context_Data (API): command - EV_GROUP_B (0x34) port: Indica a porta que gerou o evento data: Mesmos valores do parmetro Value data_aux: No utilizado card: Indica a placa que gerou o evento

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

450

Guia de Referncia
Eventos OnE1StateChange (EV_E1CHANGESTATUS)
Ocorre sempre quando algum estado da sinalizao R2D alterado ou quando a porta especificada foi liberada no protocolo ISDN PRI (C_E1_IDLE). Descrio: Durante a troca de sinalizao R2D, ocorrem diversos eventos indicando o ponto onde o protocolo se situa. Basicamente este evento deve ser utilizado para monitorao, no sendo necessrio nenhum tratamento especfico j que a thread E1 cuida de todos os detalhes para o desenvolvedor. Caso o programador esteja tratando toda a sinalizao sem utilizar a thread R2 (no recomendado), este evento dever ser utilizado para dar as informaes necessrias para a troca de sinalizao. No protocolo ISDN PRI, este evento indica que a porta especificada foi liberada (C_E1_IDLE). Ele normalmente ocorre aps a execuo do mtodo HangUp. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento State - Indica o estado atual e pode receber os seguintes valores: - C_GRUPO_B (0x1005) - Solicita grupo B para aplicao - C_NOTCOMPLETED (0x1015) - Ligao no completada - C_B_ENDCALL (0x1014) - Assinante B desligou - C_ANSWERED (0x1012) - Assinante B atendeu ou retornou depois de C_B_ENDCALL - C_CONGESTION (0x1013) - Congestionamento - C_SEIZURE (0x100b) - Ocupao - C_GROUP_II (0x1017) - Grupo II recebido - C_NUMBER_RECEIVED (0x100d) - Nmero recebido durante ligao entrante - C_UNAVAILABLE (0x1011) - Canal no disponvel - C_GROUP_I (0x101c) - Recebeu grupo I

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

451

Guia de Referncia
Eventos
- C_ID_RECEIVED (0x100a) - Recebeu identificao de assinante A - C_E1_IDLE (0x102a) - Canal R2 foi para o estado LIVRE - C_E1_SEIZURE_ACK (0x102d) - Canal R2 recebeu confirmao de ocupao - C_SEND_GROUP_B (0x102e) - Recebeu Grupo B da aplicao - C_SEND_BACKWARD_SIGNAL (0x102f) - Recebeu comando de envio de sinal "para trs" da aplicao Context_Data (API): command - EV_E1CHANGESTATUS (0x33) port: Indica a porta da placa que gerou o evento data: Mesmos valores do State data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

452

Guia de Referncia
Eventos OnErrorDetected (EV_ERRORDETECTED)
Ocorre quando acontece algum erro de hardware Descrio: Este erro s dever acontecer se houver alguma falha de hardware, que pode ser causada por falhas de instalao ou conflitos com outras placas instaladas. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento ErrorType: Indica o tipo de erro, podendo assumir - ERROR_FIFO_FULL (0x79) - Est cheia a fifo de comandos para a placa Context_Data (API): command - EV_ERRORDETECTED (0x39) port/card: Indica a placa que gerou o evento data: Mesmos valores do parmetro ErrorType data_aux: No utilizado card: Indica a placa que gerou o evento

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

453

Guia de Referncia
Eventos OnErrorNodeConfig (EV_ERROR_NODE_CONFIG)
Ocorre quando h erro de configurao no ISDN PRI. Descrio: O tipo de ambiente local e remoto so iguais. Ambos configurados como CPE ou como NET. Parmetros Recebidos (ActiveX): AlarmData - Indica a placa que gerou o evento Span - Indica o span que gerou o evento AlarmCode - Mostra o alarme gerado: - ISDN_NET (0x00) - Ambos configurados como NET - ISDN_CPE (0x01) - Ambos configurados como CPE

Context_Data (API): command - EV_ERROR_NODE_CONFIG (0x74) port: Indica o span da placa que gerou o evento data: ISDN_NET ou ISDN_CPE data_aux: Indica a placa que gerou o evento card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

454

Guia de Referncia
Eventos OnFaxDetected (EV_FAX)
Ocorre quando um sinal de fax detectado pela placa Descrio: O programador tem a flexibilidade de a qualquer ponto da aplicao habilitar e desabilitar tais recursos, fazendo uso dos mtodos EnableCallProgress para habilitar e DisableCallProgress para desabilitar. Sempre quando for detectado um sinal de fax na linha, o evento OnFaxDetected ser chamado, permitindo tratamentos especiais, como por exemplo, desviar para o ramal do aparelho de fax. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_FAX (0x22) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

455

Guia de Referncia
Eventos OnGSMSMSConfirmation (EV_GSMSMSCONFIRMATION)
Permite receber a confirmao do recebimento de uma mensagem SMS por parte do destinatrio (este recurso depende da disponibilidade da operadora). Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_GSMCONFIRMATION (0x63) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

456

Guia de Referncia
Eventos OnGSMError (EV_GSMERROR)
Ocorre quando um erro detectado na porta ou na troca de sinalizao nos mdulos GSM. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento State - Constante indicando o tipo de erro. Para obter a string correspondente ao tipo de erro, utilize o mtodo ReturnCodeGSMToString.

Context_Data (API): command - EV_GSMERROR (0x53) port: Indica a porta da placa que gerou o evento data: Mesmos valores do State data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

457

Guia de Referncia
Eventos OnGSMMemory (EV_GSMMEMORY)
Ocorre em resposta ao mtodo GSMClearAllSMS, informa que a quantidade de mensagens armazenadas no mdulo GSM est disponvel para ser lida com o mtodo GSMGetMemory. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento

Context_Data (API): command - EV_GSMMEMORY (0x59) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

458

Guia de Referncia
Eventos OnGSMMemoryFull (EV_GSMMEMORYFULL)
gerado quando o mdulo GSM atinge sua capacidade mxima de mensagem. Utilize o mtodo GSMClearAllSMS para limpar as mensagens do mdulo. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento

Context_Data (API): command - EV_GSMMEMORYFULL (0x60) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

459

Guia de Referncia
Eventos OnGSMMessage (EV_GSMMESSAGE)
Ocorre quando uma mensagem detectada pela placa. Descrio: Quando o mdulo GSM recebe uma mensagem vlida o evento gerado, a mensagem no precisa ser necessariamente um SMS. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento State - Constante indicando o tipo de erro. Para obter a string correspondente ao tipo de erro, utilize o mtodo ReturnCodeGSMToString.

Context_Data (API): command - EV_GSMMESSAGE (0x51) port: Indica a porta da placa que gerou o evento data: Mesmos valores do State data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

460

Guia de Referncia
Eventos OnGSMOtherCall (EV_GSMOTHERCALL)
Quando o mdulo GSM j atendeu uma chamada e recebe uma "outra chamada" este evento gerado. Para se obter o nmero do assinante da "outra chamada" utilize o mtodo GetCallerID. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_GSMOTHERCALL (0x58) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

461

Guia de Referncia
Eventos OnGSMReady (EV_GSMREADY)
Ocorre quando a thread GSM foi criada e inicializada com sucesso, esse evento deve ser aguardado antes do envio de qualquer outro comando a porta inicializado. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento State - Constante indicando o tipo de erro. Para obter a string correspondente ao tipo de erro, utilize o mtodo ReturnCodeGSMToString.

Context_Data (API): command - EV_GSMREADY (0x55) port: Indica a porta da placa que gerou o evento data: Mesmos valores do State data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

462

Guia de Referncia
Eventos OnGSMReturnOK (EV_GSMRETURNOK)
Evento gerado aps a execuo dos mtodos GSMListSMS (status GSM_LIST) e GSMClearAllSMS (status GSM_CLEAR). Se o status retornado for GSM_LIST, executar o mtodo GSMGetIndexList para recuperar os indices das mensagens SMS do modulo GSM na porta correspondente. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento State - Constante indicando o tipo de retorno. Para obter a string correspondente ao tipo de erro, utilize o mtodo ReturnCodeGSMToString.

Context_Data (API): command - EV_GSMRETURNOK (0x57) port: Indica a porta da placa que gerou o evento data: Mesmos valores do State data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

463

Guia de Referncia
Eventos OnGSMSIM (EV_GSMSIM)
Ocorre na insero ou retirada do SIM Card (chip) nos mdulos GSM, permitindo por exemplo que o programador reinicie a thread GSM aps a insero de um chip na placa. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento State - 0: Retirou SIM Card 1: Inseriu SIM Card Context_Data (API): command - EV_GSMSIM(0x62) port: Indica a porta da placa que gerou o evento data: Mesmos valores do State data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

464

Guia de Referncia
Eventos OnGSMSignalQuality (EV_GSMSIGNALQUALITY)
Ocorre em resposta ao mtodo GSMCheckSignalQuality, informa que o valor respectivo a qualidade do sinal j est disponvel.

Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_GSMSIGNALQUALITY (0x56) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

465

Guia de Referncia
Eventos OnGSMSMSReceived (EV_GSMSMSRECEIVED)
Ocorre quando uma mensagem SMS foi recebida e est disponvel para leitura atravs do mtodo GSMGetSMS. Descrio: Ao receber uma mensagem, o evento gerado indicando a porta que recebeu a mensagem.

Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_GSMSMSRECEIVED (0x54) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

466

Guia de Referncia
Eventos OnGSMSMSSent (EV_GSMSMSSENT)
Ocorre ao trmino do envio de uma mensagem SMS na porta especificada. Novas mensagens s devem ser enviadas aps o recebimento desse evento. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_GSMSMSSENT (0x52) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

467

Guia de Referncia
Eventos OnGSMTimeout (EV_GSMTIMEOUT)
Ocorre quando um comando enviado pela Voicerlib para o mdulo GSM correspondente a porta da placa VB0404GSM no obtem uma resposta no tempo especificado no mtodo ConfigGSMThread. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento State - Constante indicando o tipo de erro. Para obter a string correspondente ao tipo de erro, utilize o mtodo ReturnCodeGSMToString.

Context_Data (API): command - EV_GSMTIMEOUT (0x50) port: Indica a porta da placa que gerou o evento data: Mesmos valores do State data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

468

Guia de Referncia
Eventos OnLineOff (EV_LINEOFF)
Ocorre quando o usurio desliga o aparelho telefnico conectado placa em paralelo. Descrio: O Evento OnLineOff ocorre sempre que o aparelho telefnico for desligado. Nas placas digitais, este evento tambm gerado de acordo com a sinalizao R2D indicando fim de ligao. Exclusivamente para a placa FXO, nas verses anteriores da VoicerLib este evento era gerado apenas quando havia uma conexo em paralelo com a placa. Agora este evento tambm ocorre quando a placa executa um comando HangUp indicando que est "no gancho".

Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_LINEOFF (0x27) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

469

Guia de Referncia
Eventos OnLineReady (EV_LINEREADY)
Ocorre quando um aparelho telefnico conectado placa em paralelo toma a linha para originar uma ligao ou aps executar o comando PickUp. Descrio: Nas placas FXO/GSM/FXS, quando a conexo feita de acordo com o explicado no tpico Gravao em Paralelo deste manual, o evento OnLineReady tambm gerado quando se detecta loop na linha. Nas placas digitais, este evento tambm gerado de acordo com a sinalizao R2D indicando incio de ligao. Nas verses anteriores da VoicerLib este evento era gerado apenas quando havia uma conexo em paralelo com a placa. Agora este evento tambm ocorre quando a placa executa um comando PickUp indicando que est "fora do gancho". Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_LINEREADY (0x25) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

470

Guia de Referncia
Eventos OnLoggerEvent (EV_LOGGEREVENT)
Ocorre em diversas situaes quando se utiliza a thread de Logger Descrio: Este evento s ocorrer quando estiver utilizando a thread de controle de logger, criada atravs do mtodo CreateLoggerControl. O parmetro LoggerStatus indicar diversas situaes para que o aplicativo possa controlar as vrias etapas da sinalizao R2, o incio e o fim das ligaes, disparando ou finalizando as gravaes. Para maiores informaes, leia o captulo Gravao em Paralelo Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento LoggerStatus - Pode assumir os seguintes valores: - LOGGER_FREE_WITH_BILLING (1) - Assinante livre com tarifao - LOGGER_BUSY (2) - Ocupado - LOGGER_NUMBER_CHANGED (3) - Nmero de destino mudou - LOGGER_CONGESTION (4) - Congestionamento - LOGGER_FREE_WITHOUT_BILLING (5) - Livre sem tarifao - LOGGER_FREE_RETENTION (6) - Livre com reteno - LOGGER_LEVEL_NUMBER_AVAILABLE (7) - Nmero disponvel - LOGGER_B_ENDCALL (20) - Assinante B desligou durante conversao - LOGGER_B_RETURN (21) - Assinante B retornou ligao - LOGGER_LINEREADY (22) - Incio da conversao - LOGGER_LINEOFF (23) - Fim da conversao Context_Data (API): command - EV_LOGGEREVENT (0x37) port: Indica a porta da placa que gerou o evento data: Mesmos valores do parmetro LoggerStatus data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

471

Guia de Referncia
Eventos OnMailBoxDetected(EV_MBDETECTED)

O evento OnMailBoxDetected gerado ao detectar atendimento por caixa postal ou por atendimento humano, em seguida a VoicerLib automaticamente desabilita detecco de caixa postal (DisableMailBoxDetected).

Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento State Indica o que aconteceu: - 0 : udio, ou seja, uma mensagem automtica de caixa postal (secretria eletrnica) - 1 : Silncio, ou seja, ocorreu um atendimento humano Context_Data (API): command - EV_MBDETECTED (0x45) port: Indica a porta da placa que gerou o evento data: Mesmos valores do parmetro State data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

472

Guia de Referncia
Eventos OnMenu
Ocorre ao trmino de uma funo de menu iniciada pelo MenuStart Descrio: O evento OnMenu gerado aps o trmino da funo especial de menu Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento OptionSelected Opo digitada pelo usurio Status Indica o que aconteceu: - msAborted (0) Cancelado pelo mtodo MenuAbort - msTimeOut (1) Usurio no digitou nada - msRetriesExceeded (2) Nmero de tentativas excedido - msValidOptionDetected (3) Foi digitada uma opo vlida

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

473

Guia de Referncia
Eventos OnNameID (EV_NAMEID)
Ocorre quando a placa detecta a descrio do identificador da chamada (nome). Descrio: Aps este evento, caso utilize a DLL, execute o mtodo GetNameID. Na OCX o nome recebido no parmetro Name do evento. Parmetros Recebidos (ActiveX): Port Indica a porta da placa que gerou o evento Name Nome identificado Context_Data (API): command - EV_NAMEID (0x71) port: Indica a porta que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado Veja Tambm: GetNameID.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

474

Guia de Referncia
Eventos OnPlayStart (EV_PLAYSTART)
Ocorre sempre quando for iniciado o playback de qualquer mensagem. Descrio: Sempre quando desejar que a placa fale uma mensagem, necessrio utilizar o mtodo PlayFile, e toda vez que este mtodo chamado, o evento OnPlayStart ocorrer. Este evento indicado para atualizaes na interface, como por exemplo, desabilitar botes, mostrar mensagens, etc... Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_PLAYSTART (0x2a) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

475

Guia de Referncia
Eventos OnPlayStop (EV_PLAYSTOP)
Ocorre sempre quando for finalizado o playback de qualquer mensagem. Descrio: O evento OnPlayStop ocorrer quando o playback for interrompido. Este evento retorna na varivel StopStatus o motivo da interrupo. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento StopStatus Indica o motivo da interrupo. Os cdigos so: - ssNormal (0) Significa a mensagem foi falada por completo (terminou normalmente) - ssDigitReceived (1) Significa que a mensagem foi interrompida pelo recebimento de um dos dgitos passados como parmetro para interrupo da mensagem. O dgito deve ser recuperado na propriedade Digits - ssAbnormal (2) Significa que a mensagem foi interrompida por causa de algum erro indeterminado - ssStopped (3) Significa que a mensagem foi interrompida pela chamada do mtodo StopPlayFile

Context_Data (API): command - EV_PLAYSTOP (0x29) port: Indica a porta da placa que gerou o evento data: Mesmos valores do parmetro StopStatus data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

476

Guia de Referncia
Eventos OnPrompt
Ocorre quando a funo de prompt chega ao fim. Descrio: O Evento ocorre ao final do prompt, que foi iniciado pelo mtodo PromptStart. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Value Valor digitado pelo usurio Status Pode assumir os valores: - mpAborted (0) Cancelado pelo mtodo PromptAbort - mpRetriesExceeded (1) Nmero de tentativa excedido - mpOk (2) Usurio confirmou entrada de dados - mpCanceled (3) Usurio cancelou

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

477

Guia de Referncia
Eventos OnR2Received (EV_R2)
Ocorre sempre quando a sinalizao R2 recebida pela placa. Descrio: Este evento ocorrer sempre quando alguma sinalizao R2 recebida pela placa. Antes de receber qualquer sinalizao necessrio habilitar a recepo de R2 atravs do mtodo SendR2Command passando como parmetro R2_ENABLEDETECTION. Quando a thread R2 estiver sendo utilizada, o controle de receber ou no estas informaes fica sob responsabilidade da biblioteca. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Signal - Indica o sinal R2 recebido: - R2_IDLE (0x9) - R2_CLEAR_FOWARD (0x9) - R2_SEIZURE (0x1) - R2_BACKWARD_DISCONNECTION (0x1) - R2_SEIZURE_ACK (0xd) - R2_BILLING (0xd) - R2_CLEAR_BACK (0xd) - R2_ANSWERED (0x5) - R2_BLOCKED (0xd) - R2_FAILURE (0xd) - R2_ENABLEDETECTION (0x10) - R2_DISABLEDETECTION (0x20) Context_Data (API): command - EV_R2 (0x35) port: Indica a porta da placa que gerou o evento data: Mesmos valores do parmetro Signal data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

478

Guia de Referncia
Eventos OnRecording (EV_RECORDING)
Ocorre durante a gravao de uma mensagem. Descrio: O evento OnRecording ideal para monitorar o andamento de uma gravao. A varivel ElapsedTime contm a durao em segundos da gravao at aquele momento. Atravs deste evento possvel limitar o tamanho das mensagens ou mesmo exibir informaes sobre o andamento da gravao. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento ElapsedTime Indica a durao da gravao em segundos naquele instante Context_Data (API): command - EV_RECORDING (0x30) port: Indica a porta da placa que gerou o evento data: Indica a durao da gravao em segundos naquele instante data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

479

Guia de Referncia
Eventos OnRecordStart (EV_RECORDSTART)
Ocorre sempre quando for iniciado a gravao de qualquer mensagem. Descrio: Sempre quando se desejar gravar uma conversa, faa uso do mtodo RecordFile, e toda vez que este mtodo chamado, o evento OnRecordStart ocorrer. Este evento indicado para atualizaes na interface, como por exemplo, desabilitar botes, mostrar mensagens, etc... Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_RECORDSTART (0x2e) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

480

Guia de Referncia
Eventos OnRecordStop (EV_RECORDSTOP)
Ocorre sempre quando for finalizado a gravao de qualquer mensagem. Descrio: O evento OnRecordStop ocorrer quando a gravao for interrompida. Este evento retorna na varivel Status o motivo da interrupo. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento StopStatus Indica o motivo da interrupo. Os cdigos so: - ssNormal (0) - Significa que a mensagem foi interrompida com sucesso - ssDigitReceived (1) Significa que a mensagem foi interrompida pelo recebimento de um dos dgitos passados como parmetro para interrupo da mensagem. O dgito deve ser recuperado na propriedade Digits - ssAbnormal (2) Significa que a mensagem foi interrompida por causa de algum erro indeterminado - ssStopped (3) Significa que a mensagem foi interrompida pela chamada do mtodo StopRecordFile

Context_Data (API): command - EV_RECORDSTOP (0x2f) port: Indica a porta da placa que gerou o evento data: Mesmos valores do parmetro StopStatus data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

481

Guia de Referncia
Eventos OnReverseCharging (EV_REVERSECHARGING)
Ocorre sempre quando a chamada entrante requisitar a inverso de cobrana da chamada no protocolo ISDN PRI(Ligao a cobrar). Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_REVERSECHARGING (0x73) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

482

Guia de Referncia
Eventos OnRingDetected (EV_RINGS)
Ocorre sempre quando for detectado o sinal de ring na linha. Descrio: O evento ring ocorre sempre quando o sinal de ring for detectado pela placa, portanto, se o usurio demorar 3 toques para atender o telefone, o evento OnRingDetected ocorrer 3 vezes. Isto vlido tambm para a placa digital, a VoicerLib gera o evento na cadncia 1x4 (1s de ring para 4s de intervalo). No protocolo ISDN PRI, este evento ocorrer somente se o campo ISDN_AUTO_SIGNALING (ConfigISDNThread) estiver habilitado (DG_ENABLE). Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Context_Data (API): command - EV_RINGS (0x1b) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

483

Guia de Referncia
Eventos OnSilenceDetected (EV_SILENCE)
Ocorre sempre quando for detectado o silncio ou udio em determinada porta Descrio: Para habilitar a deteco de silncio utiliza-se o EnableSilenceDetection passando os valores mnimos de silncio ou udio. Cada vez que o estado se altera entre silncio e udio, o evento OnSilenceDetected gerado, passando no parmetro State o que foi detectado. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento State - Indica se foi detectado um silncio (DG_SILENCE_DETECTED - 1) ou udio (DG_AUDIO_DETECTED 0) Context_Data (API): command - EV_SILENCE (0x3f) port: Indica a porta da placa que gerou o evento data: Indica se foi detectado um silncio (DG_SILENCE_DETECTED) ou udio (DG_AUDIO_DETECTED) data_aux: No utilizado card: No utilizado

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

484

Guia de Referncia
Eventos OnText (EV_TEXT)
Ocorre sempre que um texto for recebido pela aplicao (VoicerLib) no protocolo ISDN PRI. Descrio: Aps receber o evento, executar o mtodo GetText para obter o texto recebido. Parmetros Recebidos: Port Indica a porta da placa que gerou o evento Context_Data (API): command: EV_TEXT (0x72) port: Indica a porta da placa que gerou o evento data: No utilizado data_aux: No utilizado card: No utilizado Veja Tambm: GetText.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

485

Guia de Referncia
Propriedades exclusivas do ActiveX

Propriedades exclusivas do ActiveX


Neste captulo, so mostradas as propriedades que so de uso exclusivo do ActiveX. A verso de API tem funes que desempenham as mesmas funes.

ConfigPath
Tipo: String Funo: Determina o arquivo e o caminho de configurao para todas placas. Descrio: Esta propriedade permite ao programador customizar o nome e o caminho do arquivo de configurao para todas placas. Se nenhum valor for informado ser utizado \%PROGRAM FILES%\Voicerlib4. NA API o caminho de configurao passado diretamente pelo mtodo StartVoicerLib.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

486

Guia de Referncia
Propriedades exclusivas do ActiveX StockSigPath
Tipo: String Funo: Determina o caminho onde sero encontradas os arquivos de udio (wave) utilizados para reproduzir valores por extenso, data, etc... Descrio: Ao distribuir uma aplicao onde so utilizadas os mtodos PlayCurrency, PlayDate, PlayTime, PlayNumber ou PlayList, o desenvolvedor necessita tambm enviar as mensagens a serem utilizadas. Esta propriedade permite configurar o caminho para estas mensagens. A seguir apresentamos os nomes dos arquivos fornecidos com a biblioteca e a respectiva frase que reproduz.

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

487

Guia de Referncia
Propriedades exclusivas do ActiveX
Tabela de frases do stocksigs

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

488

Guia de Referncia
Propriedades exclusivas do ActiveX

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

489

Guia de Referncia
Propriedades exclusivas do ActiveX

Caso o desenvolvedor queira fazer sua prpria locuo ou mesmo em outra lngua basta criar as frases mostradas anteriormente, respeitando-se sempre o nome do arquivo e o formato utilizado (wave lei mi, 8Khz, 8 bits, mono).

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

490

ndice Remissivo

ConfigE1Thread

160 163 165 98 151

-3-

ConfigGSMThread ConfigISDNThread

32/64 bits

14

Configuraes de Sincronismo ConnectAudioChannels CreateCallProgress CreateChatRoom CreateCustomCAS 167 169 170 172 174 176 179 177

-A-

AbortCall Alarmes

141 99 47 142

CreateE1Thread CreateGSMThread CreateISDNThread CreateLoggerCCS

Atendendo e Desligando AudioMonitor

CreateLoggerControl

-B-DBINA 67 Debug E1 116 181 116 183 184 185 186 187 188 190 189 63 46 60 61 191

-C-

DefinePortResource Depurando aplicativos DestroyCallProgress DestroyChatRoom DestroyCustomCAS DestroyE1Thread DestroyGSMThread DestroyISDNThread DestroyLoggerCCS 25 32 79 DestroyLoggerControl Deteco de Dgitos Deteco de Ring Deteco de Silncio Deteco de Tons Dg_SetEventCallback

CancelGetDigits ChatAddPort ChatDisablePort ChatEnablePort ChatRemovePort CheckCode ClearDigits 149 150

143 144 145 146 148

Compilando a Voicerlib Linux Conceitos Bsicos ActiveX Conceitos Bsicos API Conferncia entre portas ConfigCallProgress ConfigCustomCAS 152 157 28

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

491

ndice Remissivo

Dial

192 194 195 197 198

EnableMailBoxDetection EnablePulseDetection EnableSilenceDetection Exemplo em linguagem C

226 228 230 26

DisableAGC

DisableAnswerDetection DisableAutoFramers DisableCallProgress DisableDebug DisableE1Thread DisableGSMThread DisableInputBuffer DisableISDNThread DisablePulseDetection DisableSilenceDetection DisconnectAudioChannels 199 200 201 DisableDTMFFilter

-F-

Finalizando os Servios 202 FinalizandoChamadas Flash 232 234 ForceSingleSpan 206 207 208 209 GenerateMF 235

45 109

DisableEchoCancelation 203 204 205

Funes de Controle da Thread ISDN Funes de Controle da Thread R2

104 115

DisableMailBoxDetection

-G-

-E-

GetAbsolutePortNumber GetAlarmStatus Efetuando Chamadas E1 Efetuando Chamadas ISDN EnableAGC 210 211 213 216 218 219 221 222 223 225 EnableAnswerDetection EnableCallProgress EnableDebug EnableE1Thread 215 EnableDTMFFilter 111 105 GetBusyCause GetCallerID GetCardBus GetCardInfo 238 239 243, 262 245 246 247 248 249 250 251 252 255 256 253

237

GetCardInterface GetCardNumber GetCardPortsCount GetCardsCount GetCardSlot GetCardType GetDigits

EnableEchoCancelation EnableFSKDetection EnableGSMThread EnableInputBuffer EnableISDNThread

GetDriverEnabled GetE1Number

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

492

ndice Remissivo

GetE1ThreadStatus GetISDNThreadStatus GetLibVersion GetPlayFormat GetPortCardType GetPortInterface GetPortsCount GetPortStatus GetRecordFormat GetText GetVersion 272 273 260 GetLoggerCallType 264

258 259 261 265 267

GSMSendSMS GsmToWave GsmToWave49

294 296 297 298 33 27

GSMSetPinNumber

Guia De Migrao De Verses Anteriores Guia de programao

268 269 270 271

-H-

HangUp

299

GetRelativeChannelNumber

-I91 71 277 Identificao de Chamadas IdleAbort IdleSettings IdleStart Inicializao E1 300 301 303 110 102 44 67

Gravao em Paralelo Gravando uma Conversa GSMCallControl GSMClearAllSMS GSMDeleteSMS GSMGetIndexList GSMGetMemory GSMGetMessage GSMGetSMS GSMListSMS 285 274 278 279 280 GSMCheckSignalQuality

Inicializacao Protocolo ISDN 281 Inicializando os Servios Instalao no Linux Instalao Windows 284 286 Introduo 12 20 16

GSMGetLastCommand 282 283

GSMGetSignalQuality

Instrues de instalao de placas Introduo CAS Customizado IsCallInProgress 304 IsPlaying IsRecording 305 306 101

41

GSMGetSMSConfirmation 287 288 289 GsmRawToWave GsmRawToWave49 GSMRestartPort

GSMReadAndDeleteSMS 291 292 GSMSendCommand

290

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

493

ndice Remissivo

OnChannel

444 445 447 449 446

-L-

OnDialToneDetected OnDigitDetected OnDigitsReceived OnE1Alarm OnE1GroupB 448 450

LocalBridgeConnect LocalBridgeDisconnect

307 308

OnE1FramerResponse

-M-

OnE1StateChange OnErrorDetected MakeCall MenuAbort MenuStart 309 310 311 23 312 OnErrorNodeConfig OnFaxDetected OnGSMError OnGSMMemory OnGSMMemoryFull OnGSMMessage OnGSMOtherCall OnGSMReady No Atendimento 48 OnGSMReturnOK OnGSMSignalQuality OnGSMSIM 464

451 453 454 455

MenuErrorSettings Mdulos do Kernel

457 458 459 460 461 462 463 465 456

-N-

-O-

OnGSMSMSConfirmation Ocupado OnAfterDial OnAfterFlash OnAfterPickUp 48 434 435 436 437 438 439 440 OnGSMSMSReceived OnGSMSMSSent OnGSMTimeout OnLineOff OnLineReady OnLoggerEvent OnMenu OnNameID OnPlayStart 443 OnPlayStop 473 474 475 476 469 470 471 472 467 468 466

OnAfterMakeCall OnAnswerDetected OnBusyDetected OnCallerID OnCalling 441 442

OnAudioSignalDetected

OnMailBoxDetected

OnCallStateChange

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

494

ndice Remissivo

OnPrompt OnRecording

477 478 479 480 481 482 484 483

PromptAbort PromptSettings PromptStart

331 332 333 101 102 110

OnR2Received OnRecordStart OnRecordStop OnRingDetected

Protocolo CAS Customizado Protocolo ISDN PRI Protocolo R2D MFC

OnReverseCharging OnSilenceDetected OnText 485

-R-

-P-

R2AskForGroupII R2AskForID R2SendGroupB 314 ReadDigits 336

335 337 114 107

PauseInputBuffer PickUp Placas E1 Placas FXO PlayBuffer PlayCardinal PlayCurrency PlayDate PlayFile PlayList 321 322 324 325 326 315 93 92 317 319 320

338

Recebendo Chamadas E1 Recebendo ChamadasISDN RecordFile RecordPause 339 341

Recursos para o Desenvolvedor Reproduzindo Mensagens ResetError 342 344 345 346 ResetPortResource ReturnCodeToString 327 328 77

13

ReturnCodeGSMToString

PlayListAdd PlayListClear

ReturnCodeToStringCauseBusy

347

PlayListGetCount PlayListRemoveItem PlayNumber PlayTime Portas Virtuais Primeiros Passos 329 330

-S-

SendISDNCommand 68 22 14 97 SendR2Command SetAlarmMode 352

348 350 354 355

Preparando o Ambiente Linux Programacao da Placa E1

SetAudioInputCallback SetBearerCapability

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

495

ndice Remissivo

SetCallAfterAnswer SetCallAfterPickup SetCallBusyPhrase SetCalledNumber SetCallFlashTime SetCallingNumber

357 358 359 360 361 365 363 366 368 369

SetPortChatLog SetPortGain SetPortID 409

405

407 410 413 412 414 416

SetCallBusyReturnFlash

SetRecordFormat SetRecordGain SetReverseCharging SetSilenceThreshold SetStartE1RxCount 367 SetText SetTwist 418 419

SetCallNoAnswerPhrase

SetCallNoAnswerReturnFlash SetCallNoAnswerRingCount SetCallPauseBeforeAnalysis SetCallStartFlash SetCardDetections SetCardSyncMode SetDetectionType SetDialDelays SetDigitGain SetDTMFConfig SetE1CRC4Option SetFastDetection SetFaxFrequencies SetFramerLoop SetFrequency SetFXCardType SetGSMMode SetHangUpCause SetNameID SetPlayFormat 400 401 392 394 395 396 378 380 382 384 385 386 388 390 SetDigitFrequency 370 371 372 374 376 SetCallWaitForDialTone

ShutdownVoicerLib StartVoicerLib StopPlayBuffer StopPlayFile StopRecordFile 422 424 425 426

421

Streaming de udio Superviso de Linha

81 48

-T-

Testando a Placa Instalada Windows TxRxMixEnable 427

19

-U-

Utilizando a placa VB0404GSM

84

SetLoggerSilenceThreshold SetNextE1RxCount 403

398

-W-

Wave49ToGsm

428 429

Wave49ToGsmRaw

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

496

ndice Remissivo

WaveToGsm WriteCode

430 431 432

WaveToGsmRaw

Digivoice VoicerLib 4
Copyright 2010 Digivoice Eletrnica

497

DigiVoice tecnologia em eletrnica Ltda.


Al. Juru, 159 - Trreo Alphaville - Barueri - SP CEP 06455-010 (11) 2191-6363
www.digivoice.com.br

You might also like