Angus Wiki
  • Group 1
    • Angus Wiki
    • Control Types
      • Text
      • Textarea
      • Password
      • Spacer
      • Integer
      • Double
      • Double4
      • Double5
      • Date
      • Daterange
      • Time
      • Datetime
      • Select
      • Anglookup
      • Boolean
      • Button
      • Filter
      • Radio
      • Multiselect
      • Dbimage
      • Image
      • Html
      • Chart
      • Widget
      • Autocomplete
      • Chip
      • Phoneinput
    • General type
    • Toolbar
    • Menu
    • Grid
    • Grid Filter Panel
    • Page
    • Analysis
    • OptionRecord
    • Record
      • Recordlarda Fuzzy Search Kullanımı
      • Recordlara Panel Ekleme
      • Record Butonlarına da Rol Verilebilir
    • Record scripti
    • Butonda Script Kullanımı
    • Buton ve row actiondan gridfilter veri gönderme
    • Combine Latest
    • Sp ye istek atıp dönen id bir tane ise record fazla ise grid açan buton scripti
  • Group 3
    • Angus Lokal Kurulum Linux
    • İlk kurulum
    • Kubernetes Dashboard
  • Group 2
    • Angus Lokal Kurulum Windows
    • Gerekli Uygulamalar
      • Ubuntu Kurulumu
      • WSL Kurulumu
      • Docker Kurulumu
      • Kubernetes Kurulumu
      • Microsoft SQL Kurulumu
    • Kubernetes Ayarları
    • Sistemin Çalıştırılması
  • Group 4
    • Scriptler
      • Rezervasyon Kartı
      • Rezervasyon Kartı BeforeSave Script
      • Rezervasyon Kartı BeforeClone Script
      • Fatura
      • Fatura BeforeSave Script
      • Fatura Before Print Script Editor
      • Satış Projeleri
      • Satış Projeleri BeforeSave Script
      • Kapalı Oda İşlemleri
      • Kayıp Bulunan Listesi
      • İş Kaydı
      • İş Kaydı BeforeSave Script
      • Hesap Kartı
      • Stok Fiyat Anlaşması
      • Proforma Fatura Listesi
      • Fatura BeforeSave Script
      • Fiş
      • Fiş BeforeSave Script
      • Fiş AfterSave Script
      • Fiş Before Print Script
      • Fiş BeforeClone Script
      • Ödeme Emri
      • Ödeme Emri BeforeSave Script
      • Çek/Senet
      • Banka Ekstresi Oku BeforeSave Script
      • Hesap Mutabakatı
      • Babs Mutabakat
      • Kur Değerleme
      • Kur Değerleme(Toplu Döviz)
      • Yaşlandırma Analizi
      • Seyahat Acentası
      • Fiyat Kodu
      • Kontrat Detay
      • Entegrasyon Bağlantı Tanımları
      • Stok İrsaliye
      • Stok İrsaliye BeforeSave Script
      • Stok Fişi
      • Stok Fişi BeforeSave Script
      • Talep
      • Talep BeforeSave Script
      • Üretim Emri
      • Stok Sayım
      • Stok Sayım BeforeSave Script
      • Tüketim Fişleri
      • Adisyon Before Save Script
      • Stok Fiyat Anlaşması
      • Stok Fiyat Anlaşması BeforeSave Script
      • Misafir Kartı
      • Yeni Talep
      • Yeni Talep BeforeSave Script
      • Yeni Talep AfterSave Script
      • Çağrı Merkezi Kaydı
      • Çağrı Merkezi Kaydı AfterSave Script
      • Üyelik
      • Ödeme Linki
      • Doluluk Grafikleri
      • Dağılım Analizi
      • Park Giriş BeforeClone Script
      • Park Giriş
      • Park Rezervasyonu
      • Park Rezervasyonu BeforeSave Script
      • Park Rezervasyonu BeforeClone Script
      • Seyahat Acentası
      • Kullanıcı Bilgileri
      • Kullanıcı Bilgileri BeforeSave Script
      • Medikal Rezervasyon Kartı
      • Medikal BeforeSave Script
      • Medikal BeforeClone Script
      • Ödeme Linki
      • Ödeme Linki BeforeSave Script
  • Group 5
    • IP Santral Entegrasyonu
    • Ip Santral Sistemi
    • File Transfer Service
    • IP Santral Engtegrasyonu Angus Kullanımı
  • Response Header'larındaki Alanlar ve Anlamları
Powered by GitBook
On this page
  1. Group 5

IP Santral Engtegrasyonu Angus Kullanımı

(() => {
  const tenant = this.api.tenant;

  if (!tenant.CALLCENTER_IPPBX_ACTIVE || !tenant.USERPHONE) {
    return;
  }

  rxjs
    .of(null)
    .pipe(
      rxjs.switchMap(() => {
        return new rxjs.Observable((subscriber) => {
          // cloud domain callcenterintegration.elektraweb.com

          const url =
            tenant.CALLCENTER_IPPBX_URL ||
            'callcenterintegration.elektraweb.com';
          const socket = new WebSocket(`wss://${url}/client`);

          socket.onopen = (event) => {
            const request = {
              USERID: tenant.STDUSERID,
            };
            console.log('message-sendig', JSON.stringify(request));
            socket.send(JSON.stringify(request));
            console.log('bağlantı başarılı', event);
          };

          socket.onmessage = (event) => {
            const msg = JSON.parse(event.data);
            if (msg?.type == 'info') {
              let successMsg =
                angus.languageService.dynamicTranslator.translate(
                  'Listenning internal phone'
                ) +
                ' ' +
                angus.api.tenant.USERPHONE;
              angus.serviceWorkerService.snackBar.open(successMsg, '(x)', {
                duration: 10e3,
              });
            }

            //console.log('Message from server ', msg);

            if (msg?.type == 'error') {
              console.error('error on connecting', event?.data.message);
              socket.close();
            }
            if (msg?.data?.callerId) {
              angus.popupFormService.openRecord('group-hotels-calllogs', null, {
                PHONE: msg.data.callerId,
              });
            }
          };

          socket.onclose = (event) => {
            subscriber.next();
            subscriber.complete();
          };
          socket.onerror = (event) => {
            socket.close();
          };
          return () => {
            socket.close();
          };
        });
      }),
      rxjs.repeat(),
      rxjs.takeUntil(this.isDestroyed)
    )
    .subscribe();
})();
PreviousFile Transfer ServiceNextResponse Header'larındaki Alanlar ve Anlamları

Last updated 3 years ago