BFON, Bulutfon tarafından geliştirilmiş bulutfon uygulamalarını standartlaştırmak için tasarlanmış bir JSON standartıdır. BFON sayesinde çağrı anında telefonu kapatabilir, belli bir ses dosyasını okutabilir, basılan tuşları algılayarak çeşitli işlemleri gerçekleştirebilirsiniz.
Şimdi birlikte BFON’da kullanabilecek methodları tek tek inceleyelim ve gerçek yaşamda neler yapılabilir bakalım.
play
Belirtilen adresteki ses dosyasını arayan tarafa çalar. Argüman olarak URL adresini alır.
{
"seq":[
{
"action":"play",
"args":{
"url":"http://192.168.1.1:8000/test.mp3"
}
}
]
}
Gerçek hayattan örnekler:
- Kişi veya kuruma özel ses kaydı yapılıp gelen numaraya göre bu ses kaydı arayan kişiye dinletilebilir.
- Anket soruları hazırlanabilir. Adım adım arayan numaraya dinletilebilir.
- Masal uygulaması oluşturabilirsiniz.
gather
Belli bir adresteki ses dosyasını arayana çalar. Arayanın bastığı tuşları bir değişkene atar ve harici yönetim adresine POST eder.
Aldığı argumanlar:
- min_digits: “2”,
- max_digits: “5”,
- max_attempts: “3”,
- ask: “http://192.168.1.1:8000/test.mp3”,
- play_on_error: “http://192.168.1.1:8000/test.mp3”,
- variable_name: “testvar”
{
"seq": [
{
"action": "gather",
"args": {
"min_digits": "2",
"max_digits": "5",
"max_attempts": "3",
"ask": "http://192.168.1.1:8000/test.mp3",
"play_on_error": "http://192.168.1.1:8000/test.mp3",
"variable_name": "testvar"
}
}
]
}
Gerçek hayattan örnekler:
- Kredi kartı ödemesi alabilirsiniz.
- Anket düzenleyebilirsiniz.
- Ticket veya user için PIN girdirebilirsiniz.
dial
Arayan numarayı istenilen menüye gruba, dahiliye veya harici bir numaraya yönlendirir. Bulutfon’da
- Menüler 2 haneli,
- Gruplar 3 haneli
- Dahililer 4 haneli
olmak üzere 3 farklı kullanım tarzı vardır.
{
"seq": [
{
"action": "dial",
"args": {
"destination": "1000"
}
}
]
}
Gerçek hayattan örnekler:
- Bir dahili sistemi oluşturup şirket içi haberleşmeyi bu dahili sistem üzerinden dağıtabilirsiniz.
continue
İlk istekten sonra işlemlerin devam etmesini sağlayan yapıdır.
{
"seq": [
{
"action": "continue"
}
]
}
Gerçek hayattan örnekler:
- Hazırlanacak anket sisteminde bir sonraki adıma geçmek için kullanabilirsiniz. Cevapları aldıktan sonra işlemlere devam etmesini continue metodu ile sağlayabilirsiniz.
hangup
Gelen aramayı arama sırasında kapatır.
{
"seq": [
{
"action": "hangup"
}
]
}
reject
{
"seq": [
{
"action": "reject"
}
]
}
Gerçek hayattan örnekler:
- reject veya hangup ile numara engelleme uygulaması yapabilir, istemediğiniz numaralardan gelen aramaları engelleyebilirsiniz.
set_caller
Santral kullanıcılarına aktarılan çağrılar için özel arayan bilgisi tanımlanmasını sağlar.
Aldığı argumanlar:
- caller_name : String formatında arayan bilgisi
{
"seq": [
{
"action": "set_caller_name",
"args": {
"caller_name": "ABC İnşaat Firması"
}
}
]
}
Gerçek hayattan örnekler:
- Arayan numara yerine adres defterinizde yer alan isim, borç bilgisi gibi ifadeleri telefonunuzda gösterebilirsiniz.
say
Bu metod sayesinde yazılı olarak girilen metin ses dosyasına çevrilir. Bir tts(text to speech) yapısıdır. Şuan beta aşamasındadır.
{
"seq": [
{
"action": "say",
"args": {
"lang": "tr",
"text": "Merhaba dünya."
}
}
]
}
Gerçek hayattan örnekler:
- TTS işlemlerini gerçekleştirebilirsiniz.
- Ses dosyalarıyla yapabileceğiniz işlemleri gerçekleştirebilirsiniz.
- Arayan numaraya ait isme özel karşılama metni hazırlayıp dinletebilirsiniz.
Açık Kaynak Projeler
- netinternet/bfxm-whmcs – Netinternet firmasının geliştirdiği Whmcs, Hipchat, BFXM uygulaması. Arayan müşterinin son beş destek talebini hipchatte gösteriyor.
- ahmetilhann/bulutfon-bfxm-mesai-saatleri – Ahmet İlhan‘ın geliştirdiği öğlen arasında, mesai saatlerinde ve mesai saatleri dışında farklı menülere aktaran ayrıca bazı günlerde özelleştirilebilen BulutfonXM örneği.
- mehmetdik/caller-name-update – Mehmet Dik‘in geliştirdiği rehber uygulamasıdır.