npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

netsantral-js

v1.0.4

Published

NetGSM NetSantral API Wrapper for Node.js (TypeScript)

Downloads

292

Readme

netsantral-js

Netgsm'in bir ürünü olan gelişmiş bulut santral hizmeti sunan Netsantral için bir npm paketi.

Paketi kullanmaya başlamadan önce resmi dökümanı incelemeniz faydalı olacaktır. https://www.netgsm.com.tr/netsantraldokuman

Kurulum

netsantral-js paketini npm kullanarak kurabilirsiniz:

npm i netsantral-js

netsantral-js paketini projenize dahil edin.

import * as netsantral from 'netsantral-js';

Not: Netgsm hesap ayarları bölümünden Alt Kullanıcı Hesabı oluşturarak username ve password değerlerini elde edebilirsiniz.

Santral Yönetimi

Çağrı süreçlerini yönetmek için bir Call instance oluşturun.

const call = new netsantral.Call({
  username: '850XXXXXXX',
  password: '*********',
});

Santraliniz üzerinden bir dış arama başlatmanızı sağlar.

await call.start({
  customer_num: '5XXXXXXXXX',
  internal_num: '104',
  trunk: '850XXXXXXX',
});

Son başlatılan çağrıyı sonlandırır.

await call.end();

Spesifik bir çağrıyı sonlandırır. unique_id ve crm_id verileri bir çağrı başlattığınızda dönen response içerisinde bulunmaktadır.

await call.end({ unique_id: 'sip-xxxx-xxxx-xxxx' crm_id: 1});

Gelen ve giden sesleri kapat.

await call.mute({ direction: 'all' });

Sadece gelen sesleri kapat.

await call.mute({ direction: 'in' });

Sadece giden sesleri kaapt

await call.mute({ direction: 'out' });

Gelen ve giden tüm sesleri sessizden çıkar.

await call.unMute({ direction: 'all' });

Sadece gelen sesi sesizden çıkar.

await call.unMute({ direction: 'in' });

Sadece giden sesi sessizden çıkar.

await call.unMute({ direction: 'out' });

Kör transfer (xfer - Blind Transfer)

xfer çağrı transferinde, arayan kişi başka bir kişiye yönlendirildiğinde, çağrıyı transfer eden kişi görüşmeden tamamen ayrılır. Çağrıyı transfer eden kişi, çağrının yeni hedefe ulaşacağını kontrol etmez ya da arayanla hedef kişi arasında başka bir işlem yapmaz.

await call.transfer({ exten: '104', type: 'xfer'});

Katılımlı transfer (atxfer - Attended Transfer)

atxfer transferde, çağrıyı transfer eden kişi önce çağrıyı hedefe aktaracağı kişiyle (yeni alıcı) konuşur ve ardından transferi gerçekleştirir. Transfer işlemi sırasında çağrıyı transfer eden kişi, görüşme başlatmadan önce durumu açıklama fırsatına sahiptir.

await call.transfer({ exten: '104', type: 'atxfer' });

Bir dış arama başlatarak bu aramayı dinamik olarak kuyruğa, anonsa veya ivr yönlendirebilirsiniz.

await call.dynamicRedirect({
    called: "5XXXXXXXXX",
    redirect_menu: "ivrtest",
    redirect_type: "ivr",
    trunk: "850XXXXXXX",
});

Kuyruk Yönetimi

Kuyruk süreçlerini yönetmek için bir Queue instance oluşturun.

const queue = new netsantral.Queue({
  username: '850XXXXXXX',
  password: '*********',
});

Belirli bir kuyruk istatiğini al

await queue.stats({queue: '{{queueName}}'}),

Dahiliyi belirli bir kuyruğa ekleyebilirsin

"paused: 1" Kuyruğa aktarılan dahili molada olarak aktarılır.

"paused: 0" Kuyruğa aktarılan dahili müsait olarak aktarılır.

await queue.addInternal({
  queue: '{{queueName}}',
  exten: '{{internal}}',
  paused: 1,
});

Dahili için bir mola başlat

  await queue.startInternalBreak({
    queue: '{{queueName}}',
    exten: '{{internal}}',
    reason?: '{{reason}}',
  });

Dahili için aktif molayı sonlandır

  await queue.stopInternalBreak({
    queue: '{{queueName}}',
    exten: '{{internal}}',
    reason?: '{{reason}}',
  });

Eklediğiniz dış numara gelen çağrıları karşılayabilir

  await queue.addExternalNumber({
    tenant: '850XXXXXXX',
    queue: '{{queueName}}',
    no: '5XXXXXXXXX',
  });

Gelecek Hedefler

Aşağıda, gelecek sürümler için planlanan özellikler ve iyileştirmeler bulunmaktadır:

  • 🟢 ~~Kuyruğa Dış Numara Ekleme: Kuyruk yönetimi içerisine kuyruğa dış numara ekleme işlemi.~~
  • 🟢 ~~Dinamik Yönlendirme: Santral yönetimi içerisine dinaimik çağrı yönlendireme özelliği ekleme.~~
  • 🟠 Otomatik Arama: Otomatik arama modülünün entegrasyonu.
  • 🟠 Webhook Santral Dinleme: Webhook özelliği entegrasyonu.
  • 🟠 Rapor: CDR ve Gelene Çağrı istatistik mödülleri entegrasyonu.

Fikirlerinizi veya iyileştirme önerilerinizi belirtmek için bir issue açmaktan veya doğrudan katkıda bulunmaktan çekinmeyin!