1 WS.OngeauthenticeerdeWebService 0 Name of the WebService. TAPI.Router URL for invoking the WebService. http://cache01/csp/Admin1 TODO: change this to actual SOAP namespace. SOAP Namespace for the WebService http://tempuri.org %String ;416;421; d ##class(WS.TAPI.Router).InitPool() 1 3:3,1:$L(Pool,";")) Do . Quit:$P(Pool,";",I)="" . Set IPNr=$G(^vhUSER("II",$P(Pool,";",I))) . Write:IPNr="" "SetPool : Niet gevonden van pool : "_$P(Pool,";",I),! . Quit:IPNr="" . Set PoolList=PoolList_$LB(IPNr) Set $LI(PoolList,10)=VerantW_"->"_Pool If ($G(Divisie)'="")||($G(Taal)'="") Do . Set:$G(Divisie)="" Divisie="*" . Set:$G(Taal)="" Taal="*" . Set ^TAPI("POOL",VerantWIPNr,"SPEC",Divisie,Taal)=PoolList . Write $LI(PoolList,10)," SPEC",! Else Do . Set ^TAPI("POOL",VerantWIPNr)=PoolList . Write $LI(PoolList,10),! Else Do Quit ]]> Creatie van een routerdata record en invullen met de Klant/Leveranciers gegevens en de routinggebruikers CLIP : Telefoonnr van de beller Line : Interne lijn waarop de telefoon binnenkomt Called : Telefoonnr waarnaar gebeld werd (centraalnr, directe inkiezing, ...) AVRActive : Antwoordapparaat staat op als true s o=##class(WS.TAPI.Router).GetRouteInfo("0031315254506","","037601914",1) 1 CLIP:%String,Line:%String,Called:%String,AVRActive:%Boolean WS.TAPI.RouterData 1 Logging van een TAPIEvent. Welke TAPIEvents er juist worden doorgegeven dmv van deze webmethod is op de TAPIServer instelbaar. Op de SQL databank van de TAPIserver worden ALLE events opgeslagen. EventInfo : Naam van het event CLIP : Telefoonnr van de beller Line : Interne lijn waarop de telefoon binnenkomt Called : Telefoonnr waarnaar gebeld werd (centraalnr, directe inkiezing, ...) User : Aangelogde user waarnaar de telefoon werd doorgeschakeld Info : vrije info CustomerNumber : Via de GetRouteInfo wordt de klantnummer doorgegeven aan de TAPI server die het op zijn beurt terugstuurd CallID : TAPI ID van het gesprek 1 EventInfo:%String,CLIP:%String,Line:%String,Called:%String,User:%String,Info:%String,CustomerNumber:%String,CallID:%String %String 1 Test of de centrale bel gebeld wordt BUITEN de werkuren. 1 Called:%String %Boolean 43200)&&(Time<46800))||(Time>$S($ZD($H,10)=5:59400,1:61200)) ]]> Vertaling van het intern IPNummer naar de WindowsGebruikersNaam 1 IPNr:%Integer %String 1 KLNr:%Integer 0 %Integer w $$ListToPieces^vhLib(##class(WS.TAPI.Router).UserPool(1048,1051) 1 IPNr:%Integer,KLNr:%Integer %List Bepalen van de gebruikerspool volgens de principale gebruiker Controle op de directeinkiezing Als er direct ingekozen werd en de directe inkiezing is gekoppeld aan een gebrtuiker wordt die gebruiker eerst geplaatst Als de directe inkiezing niet het centraal nummer is dan wordt de pool gewist en wordt er geen TapiRouting gegeven 1 CalledTelNr:%String,Pool:%List,AVRActive:%Boolean %List w ##class(WS.TAPI.Router).GetDerde("3253622234") 1 TelNr %String 29) Quit "Halux" If $G(CLIP)="" Quit:($E(TelNr,1,2)="32") ..GetDerde($E(TelNr,3,99)) Quit "" Set ObjType=$O(^TAPI("T",CLIP,"")) Quit:ObjType="" "" Set ObjRef=$O(^TAPI("T",CLIP,ObjType,"")) Quit:ObjRef="" "" Set PersRef=$O(^TAPI("T",CLIP,ObjType,ObjRef,"")) Quit:PersRef="" "" Set Dubbel=$O(^TAPI("T",CLIP,ObjType,ObjRef,PersRef))'="" Set List=$g(^TAPI("T",CLIP,ObjType,ObjRef,PersRef)) Set Result=$TR($LG(List,1),"&","+") Set:'Dubbel&&$L($LG(List,3)) Result=Result_","_$LG(List,2) Quit Result ]]>