Asterisk 11- program a distinctive 'call transfer' custom ring tone
$30-250 CAD
Paid on delivery
Asterisk-11.14.2
Snom-870 FW 8.7
We wish to have a custom context written that identifies when any call has been forwarded to any extension from any other extension. This must work in conjunction with the existing contexts that sets one ring-tone for outside calls and a different ring-tone for inside calls. The internal transfer ring-tone must be different from either and the first two behaviours must not be interfered with.
Presently we have this:
;# START
; Set Snom default (Ringer1)
exten => _417XX,n,Set(AlertSnom=<[url removed, login to view]>\;info=)
; alert-external, alert-group and alert-internal are Snom predefined values.
exten => _417XX,n,Set(AlertExternalCall=alert-external)
; alert_external_call, alert_internal_call and alert_internal_transfer are
; customized alert-info-text values related to specific alert-info-files
; (Ringer[0-9]) and set in Snom phone provisioning files
exten => _417XX,n,Set(AlertExternalCall=alert_external_call)
; Just recall, this override is setup to only consider internal
; calls so the forgoing is just noise to make the overall context
; clear and to show the conventions.
exten => _417XX,n,Set(AlertInternalCall=alert_internal_call)
; Now we test to see if this is a station to station internal call
; You can use the following comparison operators in these lines:
; = != < > <= >=
; Note that "" surround both the items in the comparison and are
; considered part of the values compared. If either are true
; then we branch to notfromlocal. Otherwise we fall through.
exten => _417XX,n,GotoIf( $[$["${CallerIDNum}" > "41799"] || $["${CallerIDNum}" < "41700"]]?notfromlocal:)
; If we reach here then the caller is within the upper and lower bounds
; so we reset the alert-info header to our internal custom ring-tone
exten => _417XX,n,Set(__ALERT_INFO=${AlertSnom}${AlertInternalCall})
;This is the (notfromlocal) entry point.
exten => _417XX,n(notfromlocal),Goto(from-internal-original-override,${EXTEN},1)
;The following three lines must not be changed!
exten => _X.,1,Goto(from-internal-original-override,${EXTEN},1)
exten => s,1,Goto(from-internal-original-override,s,1)
exten => h,1,Macro(hangupcall)
;# END
What we want is to detect when a call answered at one extension is forwarded to a second extension and alter the ring-tone used for that call. In this case we wish to set a ring-tone Alert-Info string to "alert_internal_transfer".
Project ID: #7241635
About the project
4 freelancers are bidding on average $159 for this job
I have done a lot of asterisk projects. Please check my profile. It is possible to configure that the calls that are forwarded to have a special string and you will know that the call are from an extension.
I would suggest detecting and handling transfers in a specific context where the ALERTINFO could be set different from those already used (for distincting internal and external calls). It would be interesting wheter More