|
Home Resources Products
Developers |
Main • SIPAttendedCallTransferInCluster
ContentThis page documents how to configure Yate to handle a SIP attended call transfer for an unknown call leg.
Enable REFER method handler in the SIP module; ysipchan.conf ; [general] transfer=yes Enable and configure clusteringREMEMBER: It is mandatory to choose node names that can be easily resolved to an IP address.The SIP call to another cluster will fail if its name can't be resolved. Set node name; yate.conf ; [general] nodename=somehost Enable and configure the clustering module
; clustering.conf
;
[general]
regexp=^[[:alnum:].-]\+$
callto=sip/sip:cluster/${called}@\0
Enable and configure the line trackerThe line tracker is used to maintain the list of call legs in the database.
; register.conf
;
[general]
linetracker=yes
[linetracker]
account=cluster
initquery=DELETE FROM lines WHERE nodename='${nodename}'
cdr_initialize=INSERT INTO lines(nodeprefix,chan,callid,nodename)\
VALUES('${nodeprefix}', '${chan}', '${callid}', '${nodename}')
cdr_finalize=DELETE FROM lines WHERE nodeprefix='${nodeprefix}' AND chan='${chan}'
cdr_update=UPDATE lines SET callid='${callid}' WHERE nodeprefix='${nodeprefix}' AND chan='${chan}'
Route transfer requests using the line trackerThe example below returns a cluster pickup target.
; register.conf
;
[general]
call.route=yes
[call.route]
account=cluster
query=SELECT nodeprefix || 'pickup/' || chan AS location FROM routes WHERE callid='${callid}' AND '${reason}'='transfer'
result=location
Configure cdrbuild to copy extra parameter(s)We need the cdrbuild module to update and forward the callid parameter. ; cdrbuild.conf ; [parameters] callid=true |
3 May 2010: 8 March 2010: 6-7 February 2010: 2 Nov 2009: 6 Aug 2008: 4 Aug 2008: 10 Jul 2008: Feb 2008: 21 Jan 2008: 3 September: 14 August: 16 April: 25 September: 25 September: 11 July 2006: 10 July 2006: June 1st 2006: |