Failed to get 160 samples from read factory , asterisk-11.5.1 app_confbridge.c
How to read DTMF During Call Conference Confbridge.Asterisk11.5.1.
issue1 : why AST_FRAME_NULL: sabse pass Digit[0] and frame->frametype:[5] to confbridge_run
issue2 : chan =ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms); it crashed.
if( ast_test_flag(&participant->u_profile,USER_OPT_ADMIN)||ast_test_flag(&participant->u_profile,USER_OPT_MARKEDUSER)){
ast_verb(3,"\nHI User is Admin/Marked \n ");
musiconhold = 1;
outfd = -1;
ms = -1;
[b] //crashed.if comment removed.
//c=ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms);
[/b]
if (chan) {
char dtmfstr[2] = "";
f=ast_read(chan);
if (!f) {
return 0;
}
if (f->frametype == AST_FRAME_DTMF) {
dtmfstr[0] = f->subclass.integer;
dtmfstr[1] = '\0';
ast_verb(3,"sabse dtmfstr[0] = f->subclass.integer :%s",dtmfstr);
}
switch(f->frametype){
case 1:
ast_verb(3,"\n1:confbridgeFrameType DTMF END\n");
ast_verb(3,"\n Digit: %d\n", f->subclass.integer);
ast_verb(3,"\n AST_FRAME_DTMF_END:sabse pass Digit[%d] and f->frametype:[%d] to confbridge_run \n",f->subclass.integer,f->frametype);
break;
case 2:
ast_verb(3,"\n 2:confbridgeFrameType AST_FRAME_VOICE \n");
ast_verb(3,"\n Digit: %d\n", f->subclass.integer);
ast_verb(3,"\n AST_FRAME_VOICE :sabse pass Digit[%d] and f->frametype:[%d] to confbridge_run \n",f->subclass.integer,f->frametype);
break;
case 5:
ast_verb(3,"\n5:confbridgeFrameType DTMF END\n");
ast_verb(3,"\nDigit: %d\n", f->subclass.integer);
ast_verb(3,"\n AST_FRAME_DTMF_END:sabse pass Digit[%d] and f->frametype:[%d] to confbridge_run \n",f->subclass.integer,f->frametype);
break;
case 12:
ast_verb(3,"\n12:FrameTypeTMF BEGIN \n");
ast_verb(3,"\nDigit: %d\n", f->subclass.integer);
ast_verb(3,"\n AST_FRAME_DTMF_BEGIN: sabse pass Digit[%d] and f->frametype:[%d] to confbridge_run \n",f->subclass.integer,f->frametype);
//int passval=f->subclass.integer;
break;
} //end of switch
} //end of c
} //end of adimn
output:when
User press 2 as DTMF .
`<–Read on Channel SIP/6017-00000000
FrameType: NULL
AST_FRAME_NULL: sabse pass Digit[0] and frame->frametype:[5] to confbridge_run
Src: NOT PRESENT
Failed to get 160 samples from read factory 0xb7509f74
Going into a multithreaded waitfor
for bridge channel 0xb7508c34 of bridge 0xb73086dc
Read factory 0xb7509f74
and write factory 0xb750ab9c
both fail to provide 160 samples
Creating BEGIN DTMF Frame: 50 (2), at 172.18.100.49:8000
<–Read on Channel SIP/6017-00000000
FrameTypeTMF BEGIN
Digit: 50
–
frame_trace.c AST_FRAME_DTMF_BEGIN: sabse pass Digit[50] and frame->frametype:[12] to confbridge_run
–
digitpass : AST_FRAME_DTMF_BEGIN: sabse pass Digit[50] Src: RTP
[b]DTMF begin ‘2’ received on SIP/6017-00000000
DTMF begin ignored ‘2’ on SIP/6017-00000000[/b]
Failed to get 160 samples from read factory 0xb7509f74
Going into a multithreaded waitfor for bridge channel 0xb7508c34 of bridge 0xb73086dc
Read factory 0xb7509f74 and write factory 0xb750ab9c both fail to provide 160 samples
<–Read on Channel SIP/6017-00000000
FrameType: NULL
AST_FRAME_NULL: sabse pass Digit[0] and frame->frametype:[5] to confbridge_run
Src: NOT PRESENT
Failed to get 160 samples from read factory 0xb7509f74
Going into a multithreaded waitfor for bridge channel 0xb7508c34 of bridge 0xb73086dc
Read factory 0xb7509f74 and write factory 0xb750ab9c both fail to provide 160 samples
<–Read on Channel SIP/6017-00000000
FrameType: NULL
AST_FRAME_NULL: sabse pass Digit[0] and frame->frametype:[5] to confbridge_run
Src: NOT PRESENT
Failed to get 160 samples from read factory 0xb7509f74
Going into a multithreaded waitfor for bridge channel 0xb7508c34 of bridge 0xb73086dc
Read factory 0xb7509f74 and write factory 0xb750ab9c both fail to provide 160 samples
<–Read on Channel SIP/6017-00000000
FrameType: NULL
AST_FRAME_NULL: sabse pass Digit[0] and frame->frametype:[5] to confbridge_run
Src: NOT PRESENT
Failed to get 160 samples from read factory 0xb7509f74
Going into a multithreaded waitfor for bridge channel 0xb7508c34 of bridge 0xb73086dc
Read factory 0xb7509f74 and write factory 0xb750ab9c both fail to provide 160 samples
<–Read on Channel SIP/6017-00000000
FrameType: NULL
AST_FRAME_NULL: sabse pass Digit[0] and frame->frametype:[5] to confbridge_run
Src: NOT PRESENT
Failed to get 160 samples from read factory 0xb7509f74
Going into a multithreaded waitfor
for bridge channel 0xb7508c34 of bridge 0xb73086dc
Read factory 0xb7509f74 and write factory 0xb750ab9c both fail to provide 160 samples
Failed to get 160 samples from read factory 0xb7509f74
Going into a multithreaded waitfor
for bridge channel 0xb7508c34 of bridge 0xb73086dc
Read factory 0xb7509f74 and write factory 0xb750ab9c both fail to provide 160 samples
Creating END DTMF Frame: 50 (2), at 172.18.100.49:8000
<–Read on Channel SIP/6017-00000000
FrameType: DTMF END
Digit: 50
*AST_FRAME_DTMF_END:sabse pass Digit[50] and frame->frametype:[1] to confbridge_run
Src: RTP
DTMF end ‘2’ received on SIP/6017-00000000, duration 120 ms
DTMF end passthrough ‘2’ on SIP/6017-00000000
<–Read on Channel SIP/6017-00000000
FrameType: NULL
AST_FRAME_NULL: sabse pass Digit[0] and frame->frametype:[5] to confbridge_run
Src: NOT PRESENT*
<–Read on Channel SIP/6017-00000000
FrameType: NULL
AST_FRAME_NULL: sabse pass Digit[0] and frame->frametype:[5] to confbridge_run
Src: NOT PRESENT
Going into a multithreaded waitfor for bridge channel 0xb7508c34 of bridge 0xb73086dc
Failed to get 160 samples from read factory 0xb7509f74