Aracılığıyla paylaş


Olay Yönlendirme

lineSetTerminal işleviyle, uygulama belirtilen düşük düzeyli olayların (anahtar ve istasyon arasında değiştirilip) bir cihaza yönlendirilmesine denetim yapabilir veya gizleyebilir. lineSetTerminalile uygulama, bu olayların (satır, adres veya arama medya akışı olayları gibi) yönlendirildiği terminal cihazını belirtir.

Farklı olay sınıflarının yönlendirmesi ayrı ayrı denetlenebilir ve her olay sınıfı için ayrı terminallerin belirtilmesine olanak sağlar. Olay sınıfları arasında lambalar, düğmeler, ekran, zil, kancalar ve medya akışı yer alır.

Örneğin, bir çağrının medya akışı (örneğin ses), hizmet sağlayıcısı ve donanım bunu yapabiliyorsa herhangi bir dönüştürücü cihazına gönderilebilir. Genel olarak, dönüştürücü, TAPI'de mikrofon ve hoparlöre sahip bir şey olan hookswitch cihazı olarak adlandırılanla aynıdır. Çaldırma olayları, anahtardan telefona bilgisayar ekranındaki görsel bir uyarıyla eşlenebilir veya bir telefon cihazına yönlendirilebilir. Lamba olayları ve görüntüleme olayları yoksayılabilir veya bir telefon cihazına yönlendirilebilir (normal bir telefon kümesi gibi görünüyor). Son olarak, telefon cihazında düğmeye basıldığında satıra geçirilebilir veya geçirilmeyebilir. Her durumda, bu düşük düzeyli sinyallerin satırdan yönlendirilmesi, alt düzey olayları her zaman işlevsel eşdeğerlerine eşleyen TAPI'nin satır bölümünün çalışmasını etkilemez. Bir hat cihazının kullanılabilir olduğu terminalleri (ve bunların özelliklerini) belirlemek için lineGetDevCapsile çizgi cihazının özelliklerine başvurun.

Başlangıçta uygulamanın tüm olayların yönlendirmesini gizlediğini (lineSetTerminal) ve kullanıcının geçerli G/Ç cihazı olarak bir kulaklık seçtiğini varsayalım. Gelen arama bir LINE_CALLSTATE iletisi ve zil göstergesiyle LINE_LINEDEVSTATE bir ileti gönderir. Tüm olayların yönlendirilmesi gizlendiğinden, çaldırma olayları telefona yönlendirilmediğinden zil sesi gizlenmeyen bir durumdur. Bunun yerine uygulama, kullanıcıya kulaklıktaki bir açılır iletişim kutusu ve sistem bip sesiyle bildirir.

Kullanıcı aramayı yanıtlamaya karar verir. Kullanıcının geçerli G/Ç cihazı kulaklık olduğundan, telefon uygulaması gelen aramada lineSetTerminal çağırarak aramanın medyasını mikrofonlu kulaklığa yönlendirir ve aramayı yanıtlar. Uygulama ayrıca lineSetTerminal çağırarak lambayı yönlendirebilir ve her zamanki gibi davranması için bilgi olaylarını telefon kümesine gösterebilir.

İkinci bir örnek olarak, kullanıcının bilgisayarında gelen bir çağrının uyarıda bulunduğunu varsayalım. Kullanıcı, fareyle yanıt seçeneğini belirlemek yerine aramayı yanıtlamak için telefonun ahizesini kaldırmaya karar verir. Telefondaki offhook durumu uygulamaya bir ileti gönderir. Uygulama, bu durumu kullanıcının konuşmayı yürütmek üzere telefon ahizesini seçme isteği olarak yorumlayabilir. Uygulama daha sonra aramadaki ses verilerini telefon kümesine yönlendirmek için lineSetTerminal çağırır.