Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - ganapathi

Pages: 1 ... 3 4 [5] 6
61
Hi
No My question is to clear cdrcombine entry where it's still not cleared when call legs are cleared.

A(sig/1) calls B(sip/1) : billid 1
then
B(sip/1) calls C ( sip/2) : billid 2

In here cdrcombine is does the job for billid 1. But sometime is not doing for billid2. Where sip/1 & sip/2& sig/1 channels are disconnected but cdrcombine is not performed for billid2 and i think incoming finalize also not performed here.

Logic : It's Just conference call (  A -> B then B calls C with A on another line ).

Please help me to understand and solve this.


62
Hi

As i seen that some calls are not finalized properly. Mainly when made a transfer the current call to another local user. Please find the status and logs attached here.

name=cdrcombine,type=cdr,format=ChanId|Caller|Called|Address|OutLegs;cdrs=1;1530798280-611=sip/665|6033|6032|192.168.1.78:5629|1

63
Ok then i guess because of my wave channel and configuration mismatch which was mentioned on this previous replies on this thread may cause this issue and these sip channel is not finalized. Let me observe it current status then would come back if any doubt on this.

64
See this is my cdrcombine status , as per this status there are 3 active channel but there is no active channel at the moment.

Code: [Select]
%%+status:cdrcombine
name=cdrcombine,type=cdr,format=ChanId|Caller|Called|Address|OutLegs;cdrs=3;1530000462-5867=sip/5951|6027|7002|192.168.1.74:5060|1,1530000462-5871=sip/5956|6034|6033|192.168.1.93:5268|1,1530000462-6703=sip/6739|6033|6004|192.168.1.78:5629|1
%%-status

For ex : sip/5951 is shows as active but channel/call closed days before. there is no chan.hangup for this channel. As per your previous reply i thought if channel connected to another channel then it won't terminate, so in that case how to identify the original status of those non-terminated channel to terminate forcefully.

Simply expecting there is no mismatch on channel/cdr status.

As i hope you understand my issue now ?

65
But my problem is

  • How to identify when channel is connected to another one.
  • How to identify new channel originally hangup , so that i can hangup old channel as well or forcefully emit the cdr finalize

Is there any special emit message on these cases, so that i can drop old un-used channel. Because as i need to automate the hangup unused channel.

66
So in that case how to identify and emit the finalize cdr with  Old channel/New Channel ?. Because i need to finalize & cdrcombine the cdr to update cdr table .

67
Ok. And about some original call doesn't finalize for longer period until restart the service.

%%+status:cdrcombine
name=cdrcombine,type=cdr,format=ChanId|Caller|Called|Address|OutLegs;cdrs=3;1530000462-5867=sip/5951|6027|7002|192.168.1.74:5060|1,1530000462-5871=sip/5956|6034|6033|192.168.1.93:5268|1,1530000462-6703=sip/6739|6033|6004|192.168.1.78:5629|1
%%-status

Log :
https://paste.linux.community/view/0eacac67

68
Is this would help to avoid re-executing to wave channel?

Code: [Select]
[chan.disconnected]
${lastpeerid}^$=return
${lastpeerid}^\(wave\|tone\)/=return
${id}^(wave\|tone\)/=return
${reason}^\(35\|offline\|noconn\|busy\)$=enqueue call.progress;targetid=${id};osip_Warning=399 $(nodename) "Subscriber ${reason}"
${reason}^\(35\|offline\|noconn\|busy\)$=dispatch call.execute;id=${id};callto=wave/play//usr/local/share/yate/sounds/error/${reason}.slin

69
This is my configuration, only once am executing call.execute.

It's for playback to caller for hangup reason.

regexroute.conf :

Code: [Select]
[chan.disconnected]
${lastpeerid}^$=return
${lastpeerid}^\(wave\|tone\)/=return
;${reason}^\(35\)$^=return
${reason}^\(35\|offline\|noconn\|busy\)$=enqueue call.progress;targetid=${id};osip_Warning=399 $(nodename) "Subscriber ${reason}"
${reason}^\(35\|offline\|noconn\|busy\)$=dispatch call.execute;id=${id};callto=wave/play//usr/local/share/yate/sounds/error/${reason}.slin

Is there any mistake on above configuration.

70
Even my question as well almost same , how wave channel are tracked on cdrbuild.

Find the log which emitted cdrbuild for wave channel

https://paste.linux.community/view/98b35ef1

71
Hi

As i recently noticed as CDR module is initialized for Wave channel and keep available on cdrbuild status

Code: [Select]
name=cdrbuild,type=cdr,format=Status|Caller|Called|BillId|Duration;cdrs=8,hungup=0;wave/90=unknown||||462416,
And some original channel created by call doesn't finalizing and it's keep available until service restart and finalized once  service ended , due to that call end time shows inappropriately.

CDRBuild :

Code: [Select]
%%+status:cdrbuild
name=cdrbuild,type=cdr,format=Status|Caller|Called|BillId|Duration;cdrs=8,hungup=0;wave/90=unknown||||462416,sip/5951=answered|6027|7002|1530000462-5867|275148,sip/5952=answered|6027|7002|1530000462-5867|275148,sip/5956=answered|6034|6033|1530000462-5871|275135,sip/5957=answered|6034|6033|1530000462-5871|275135,wave/262=unknown||||191456,wave/267=unknown||||42145,wave/302=unknown||||27914
%%-status

CDRCombine :

Code: [Select]
%%+status:cdrcombine
name=cdrcombine,type=cdr,format=ChanId|Caller|Called|Address|OutLegs;cdrs=3;1530000462-5867=sip/5951|6027|7002|192.168.1.74:5060|1,1530000462-5871=sip/5956|6034|6033|192.168.1.93:5268|1,1530000462-6703=sip/6739|6033|6004|192.168.1.78:5629|1
%%-status


And yate keep throws chan.locate message with null value like mentioned below.

Code: [Select]
Sniffed 'chan.locate' time=1530551429.087579
  thread=0x7f4f9c02a4e0 'YSIP Register'
  data=(nil)
  retval='(null)'
  param['id'] = ''

Kindly help me to avoid this issue.

72
Sorry misunderstanding.

Due to behaviour of Hold initiation from SIP channel i assigned status as hold/unhold only. And i don't have idea to copy, it should be hard to do tht i think.

Will try to adjust on db side.

Anyway thanks . i was tried to get this done so long, had no clue earlier...

73
Hi

As i tested and it's working fine as i excepted. But identified some more mistake hold time value not passed to both direction of  call. only one leg whether incoming,outgoing leg only available. How to copy that variable into both leg of same call like billtime.

Sniffer Output :

  param['duration'] = '37.652'
  param['billtime'] = '21.992'
  param['ringtime'] = '3.653'
  param['holdtime'] = '7.510'
  param['status'] = 'answered'
  param['out_leg.duration'] = '37.642'
  param['out_leg.billtime'] = '21.987'
  param['out_leg.ringtime'] = '3.653'
  param['out_leg.holdtime'] = '0.000'

74
Thanks .

Will modify as you suggested.That would save some. At initial stage it was used to check some more condition and validation.

Update you the status once tested.

75
Ooh. i forgot that scenario.

So am planning to put condition for that, Finalize operation is the correct option to identify the call is terminated in emit function.?

With that Modified the condition. As i hope it would match those necessary condition properly.

Pages: 1 ... 3 4 [5] 6