Hi all,
I am writing because I have a
problem with Dialogic SR6 SU215 with two boards DMV1200BTEP and need help.
Our application only uses dx functions,
all this functions are called asynchronously. We only call dx_playyottdata, dx_stopch and
dx_clrdigbuf. We call these functions in the following order:
1. dx_stopch()
2. Wait for TDX_PLAY.
3. Dx_clrdigbuf().
4. dx_playottdata(): only one item
which is a buffer and of course we use IO_MEM as io_type.
5. dx_stopch().
6. Wait for TDX_PLAY.
7. Wait for a new call. Go back to
number 1.
Under a high traffic of calls in
some cases after the function call "dx_stoch ()" (in step 5) never raises
events "TDX_PLAY" or "TDX_ERROR".
For those cases, after a waiting
about a second for the events, our application calls the function"dx_resetch ()" and waits for events "TDX_RESET" or"TDX_RESETERR".
About 30 seconds later, which is a
long time, it receives the event "TDX_RESETERR". Subsequent to this,
in all calls that pass through that channel and that our application calls"dx_playottdata (), it returns" Device busy ".
Seeking information on the file"rtflog" in the Dialogic Log directory I found the following:
07/16/2013
11:52:48.002 4300 2644 dm3low ERR1 Dm3Stream dxxxB7C2 SWRIT Disconnect() in unexpected
StreamStopWaitSource
07/16/2013
11:52:58.002 4300 2644 dm3voice ERR1 Dm3Player dxxxB7C2 <----
HandleTimerMessage[DATAPLANE_RESET_TIMER] in
PlayerDisconnecting
07/16/2013
11:52:58.002 4300 2644 dm3voice ERR1 VoiceChannel dxxxB7C2 ----- not in Idle
[SignalBufferIdle,PlayerDisconnecting,RecorderIdle,ToneGeneratorIdle,SignalDetectorIdle
CAIdle CallerIDInit]
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF VoiceChannel dxxxB7C2 ----- DumpXtraInfo
VoiceChannelState:VoiceChannelPlayDisconnect, ChannelStopped:1, LastIoCount:0,
RecordMode: 0, NumOfSetPatterns:2,
NumofPatternsCmplt:2
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF VoiceChannel dxxxB7C2 ----- DumpXtraInfo ListenErrorOccurred:
0,RecvCreateToneCmplt: 110,TranscodingAborted: 0, TerminationToneId: 0
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF VoiceChannel dxxxB7C2 ----- DumpXtraInfo TermParams1--
NumOfSigBufEvts:0,NumOfSigDetEvts:0,MaxTime:0,IddTime:0,InitIddTime:0,MaxDtmf:0
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF VoiceChannel dxxxB7C2 ----- DumpXtraInfo TermParams2--
DigMask:0,LoopCurrentOff: 0,DigType: 0, MaxSil: 0,MaxNoSil: 0, MaxData: 0,
MaxInitSil: 0
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF VoiceChannel dxxxB7C2 ----- DumpXtraInfo TermParams3--
MaxDtmfLabel: 0x100000,DigMaskLabel: 0x100001,DigTypeLabel:
0x100002,MaxSilLabel:0x101000
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF VoiceChannel dxxxB7C2 ----- DumpXtraInfo TermParams4--
MaxNoSilLabel: 0x101001, ToneOnLabel: 0x101002, ToneOffLabel: 0x101066,
SilTimerImmediate: 0
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF Dm3Player dxxxB7C2 ----- DumpXtraInfo
PlayerState:PlayerDisconnecting, StartIssueTime:11:51:54.704 ,
StartCmpltTime:11:51:54.720 , MsgStopTime:11:52:18.455 ,
MsgStoppedTime:11:52:18.533
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF Dm3Player dxxxB7C2 ----- DumpXtraInfo TerminationReason:0x80000,
PlayerPaused:0, StartMode:0x0
07/16/2013 11:52:58.002 4300
2644 dm3voice
EINF Dm3Player dxxxB7C2 ----- DumpXtraInfo ErrorOccured:0,
StopChannel:1, PersistentOnly:0
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF Dm3Player dxxxB7C2
----- DumpXtraInfo
NumOfUnderrun:1,DriverBlockSizeMode:0,ZeroByteFileError:0
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF Dm3Player dxxxB7C2 ----- DumpXtraInfo
LastStdMsgError:StdMsgError in PlayerPlaying :ErrMsg 0x0 - Error Code 0x109
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF Dm3Player dxxxB7C2 ----- DumpXtraInfo QResultError:NULL
07/16/2013
11:52:58.002 4300 2644 dm3voice EINF
Dm3Player
dxxxB7C2 ----- DumpXtraInfo
Driver Decoder Info:NULL
07/16/2013
11:52:58.002 4300 2644 dm3low EINF Dm3Stream dxxxB7C2 ----- DumpXtraInfo on StreamId=0xd8 in
StreamStopWaitSource on board
0x0,Direction=2,StreamSize=16224,BufferSize=0,DrctWrtStrmBffrSz=0,StrmRqstCntr=0
07/16/2013
11:52:58.002 4300 2644 dm3low EINF Dm3Stream dxxxB7C2 ----- DumpXtraInfo
RdLstCmpltDn=0,Start=0,StreamReady=0,FailureDetected=0,KeepDisconnectOnHold=0,DisconnectRcvd=0,LowActivityDone=0
07/16/2013
11:52:58.002 4300 2644 dm3low EINF Dm3Stream dxxxB7C2 ----- DumpXtraInfo
PendingBufferFlag=0,SessionFlag=128,TypeLogString=SWRIT,AttachFlags=8,UseBufferAdapter=0,NotifyLastReadCmplt=0,NotifyReadyForWriting=0
07/16/2013
11:52:58.002 4300 2644 dm3low EINF Dm3Stream dxxxB7C2 ----- DumpXtraInfo
AllowRestart=0,DriverBlockSize=0,CircularBufferFlag=0,CSPLastBlockRecv:0,BrokenPipeRecv:0
07/16/2013
11:52:58.002 4300 2644 dm3low EINF Dm3Stream dxxxB7C2 ----- DumpXtraInfo AttachTime=11:51:54.688
,AttachCmpltTime=11:51:54.704 ,DetachTime=NULL,DetachCmpltTime=NULL
Our question is:
Why dx_stopch() never returns
TDX_ERROR or TDX_PLAY?
Are we handle this scenario
correctly by calling dx_resetch()? What could be the reason why the"dx_resetch ()" fails in this way?
How can we fix it?
Thank you for your valuable time. I
hope you can help me.
Regards Diego.