Mai 2012 archive

Lync und OC mit APEX

persönlich finde ich ja XML-Telefone von SNOM und Aastra klasse. Man kan als Entwickler die Interaktion des Telefons mit seinen Business-Applikationen selbst bestimmen und auf Anforderungen der Anwender perfekt abstimmen.
VoIP-XML ist relativ einfach zu erlernen.

Lync ist aus meiner Sicht nur eine standartisierte Kopplung der PBX mit Exchange um Firmenintern Vorteile zu erhalten.

Für die Aastra-Telefone hatte ich mal eine eigene Applikations-Integration (Oracle-DB) als Modell entwickelt. .. Link ..

Eine Integration kann aber auch direkt auf dem Desktop erfolgen: Scupa koppelt den Lync-Client mit Snom-Telefonen.
http://www.sinc.de/de/loesungen/scupa/features.html

Zur Integration des LYNC-Clients mit APEX reicht eine passende Formatierung der Rufnummer als E.164-konforme Rufnummer.

Mit einer einfachen PL/SQL-Funktion kann man in APEX  einfach Telefonnummern in Hyperlinks konvertieren.

By Default formatiert die Funktion einfach nur die telefonnummer, so dass sie “lesbarer” wird und unterschiedliche Trennzeichen entfallen. Erst durch setzen des Parameters p_format auf 2 wird eine E.164-konforme Rufnummer gebildet und mit Hyperlink ausgegeben.

Für Reporting-Zwecke wird der “Reporting”-User ausgeschlossen:

CREATE OR REPLACE FUNCTION dbfun$format_tel ( p_number in Varchar2
 , p_format in Number   default 1)
return varchar2
as

 v_ret2 Varchar2(4000):= substr(trim(p_number),1,4000);

 begin

 v_ret2 := replace(v_ret2,chr(9),'');
 v_ret2 := replace(v_ret2,'-',' ');
 v_ret2 := replace(v_ret2,'_',' ');
 v_ret2 := replace(v_ret2,'.',' ');
 v_ret2 := replace(v_ret2,'\',' ');
 v_ret2 := replace(v_ret2,':',' ');
 v_ret2 := replace(v_ret2,';',' ');
 v_ret2 := replace(v_ret2,',',' ');
 v_ret2 := replace(v_ret2,'#',' ');
 v_ret2 := replace(v_ret2,'(',' ');
 v_ret2 := replace(v_ret2,')',' ');
 v_ret2 := replace(v_ret2,'{',' ');
 v_ret2 := replace(v_ret2,'}',' ');
 v_ret2 := replace(v_ret2,'  ',' ');

 if length(v_ret2) > 20 then
  v_ret2 := replace(v_ret2,' ','');
 end if;

 if p_format = 2 then
  v_ret2 := replace(v_ret2,' ','');
  v_ret2 := replace(v_ret2,'/','');

 -- nationale Nummern
  if substr(  v_ret2,1,1)='0' and   substr(  v_ret2,1,2)!='00' then
     v_ret2 :='+49'|| substr(v_ret2,2);
  end if;
   --internationale Nummern
  if substr(  v_ret2,1,2)='00'  then
     v_ret2 :='+'|| substr(v_ret2,3);
  end if;
end if;

if p_format = 2
   anduser  != 'REPORTING' then  -- Generate Link to E.164-Numer
   v_ret2 := '<a href="tel:'||v_ret2||'" title="click to dial with Lync">'||p_number||'</a>';
end if;

return v_ret2;

end;
/