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] 2
1
Yate users hangout place / Re: copy a call to a conference
« on: July 17, 2018, 07:26:03 AM »
Hi xyswitchz,

Will you please share sample configuration to do this.

2
Sorry. Still i couldn't understand the issue, even i tried to read the log , didn't get any clue until.

Anyway you says it's known issue,let me wait for the issue to be solve.

And am more into cdrcombine as of now.  Let me modify my logic with cdrbuild itself until it's get resolved.

3
Yate users hangout place / Autodial Implementation Idea
« on: July 10, 2018, 12:47:03 PM »
Hi,

As i am trying to do autodial feature on yate but have some question/difficulties faced as of now to do the same.

  • As i need to search the number from database and needs to dial outbound call
  • And if not answered then need to hangup relevant channel and close the call with proper initialize, finalize & combine method
  • If answered then needs to do keep search for available user and transfer the call and finally need to update cdr with proper outleg records with SIP user instead of utility channels.

Here my question is
  • How to create channel and connect call. Is it possible to do without any utility channel. If not then how to use by using fork/dumb channel
  • How to override leg & outleg as sig & sip channel parameters instead of 3 leg on cdr method.

And also attached the code which is initiated as of now. As of now it's calling customer and play the wave file and closing the cdr properly. But if i calling sip user once answered then how to handle cdr .

4
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.


5
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

6
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.

7
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 ?

8
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.

9
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 .

10
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

11
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

12
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.

13
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

14
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.

15
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...

Pages: [1] 2