conference.lua

-- dynamiczne tworzenie konferencji wieloosobowej
-- konferencja zostanie zakończona po wyjściu ostatniego uzytkownika
-- dostęp do menu konfiguracyjnego poprzez #
function conference_create(context, exten)
  for confno=10,99,1 do
    state = channel["DEVICE_STATE(confbridge:".. confno ..")"]:get()
    if state ~= "INUSE" then
      app.Verbose(verb, "Using conference number: ".. confno
        .." (in state: ".. state ..")")
      app.Answer()
      -- odczytanie numeru konferencji
      app.Playback("conf-enteringno")
      app.SayDigits(confno)
      -- zapytanie o PIN
      app.Read("CONFPIN","conf-getpin",nil,nil,3,10)
      -- zapamietanie PINu
      pin = channel["CONFPIN"]:get()
      app.Verbose(verb, "Setting PIN=".. pin)
      channel["DB(conf/".. confno .."/pin)"] = pin
      -- wejscie do konferencji
      app.Playback("conf-placeintoconf")
      app.ConfBridge(confno,"sa")
      break
    end
  end
end;

-- przyłączenie się do podanbej konferencji
-- funkcja przeznaczona do wywoływania w numerach budowanych na zasadzie
--  prefix . numer_konferencji
function conference_enter(confno)
  state = channel["DEVICE_STATE(confbridge:".. confno ..")"]:get()
  app.Verbose(verb, "Using conference number: ".. confno
    .." (in state: ".. state ..")")
  if state == "INUSE" then
    pin_db   = channel["DB(conf/".. confno .."/pin)"]:get()
    app.Answer()
    if pin_db == 0 then
      app.Playback("conf-placeintoconf")
      app.ConfBridge(confno,"s")
    else
      -- zapytanie o PIN
      app.Read("CONFPIN","conf-getpin",nil,nil,3,10)
      -- weryfikacja PINu
      pin_read = channel["CONFPIN"]:get()
      app.Verbose(verb, "Using PIN=".. pin_read
        .." (conference pin is: "..pin_db ..")")
      if pin_db == pin_read then
        app.Playback("conf-placeintoconf")
        app.ConfBridge(confno,"s")
      else
        app.Playback("conf-invalidpin")
        app.Hangup(21)
      end
    end
  else
    app.Hangup(1)
  end
end;

XHTML generated by highlight (http://www.andre-simon.de/) from conference.lua



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/usage_and_config/network_services/voip/conference.lua) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2014-01-07 19:27:43 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).