# OSCam

OSCam is een softcam, software die wordt gebruikt om versleutelde, digitale zenders te kunnen bekijken op een settopbox (ontvanger), als alternatief voor een conditional access module (CAM). Van OSCam is, in tegenstelling tot andere softcams, de broncode vrij beschikbaar (oftewel open source), vandaar de naam Open Source Conditional Access Module. OSCam is gebaseerd op de al eerdere bestaande, maar niet zo bekende MpCS. OSCam kan de rol van softcam en cardserver vervullen, in tegenstelling tot enkele pure softcams.

## Ondersteunde hardware

Voor de volgende typen settopbox (ontvanger) zijn gecompileerde (binary) versies van OSCam beschikbaar:
| mips | pc | powerpc | arm | sh4 |
| mips-freetz | x86_64-pc-linux | powerpc-tuxbox (Dreambox oud, "enigma") | arm-dockstar | sh4-amino |
| mips-freetz7390 | i386-pc-linux | powerpc-tuxbox-old | arm-coolstream | sh4-qboxhd |
| mips-azbox |
| mips-tplink |
| mips-wrt54g |
| mips-fonera2 |
| mips-tuxbox |
| mips-tuxbox-oe |
| mips-tuxbox-oe15 (Dreambox nieuw "enigma2", VU+, ClarkeTech) |
Daarnaast is het voor veel hardware mogelijk zelf een versie te compileren.
Veel niet-officiële images voor settopboxen leveren OSCam als uitbreiding mee, er hoeft dan geen binary gedownload te worden of zelf gecompileerd te worden.

## Basics

OSCam bestaat uit een aantal onderdelen, te weten:
* cardserver
* softcam
* webinterface
* monitor-interface

### Cardserver

OSCcam kan smartcards van providers gebruiken. Het is hiervoor wel nodig dat de ontvanger (of pc) een generieke smartcard-lezer heeft. Een kaart die via een conditional access module (CAM) en eventueel via de Common Interface (CI) is aangesloten kan niet benaderd worden door een softcam.
Voor elke smartcard die in een kaartlezer geplaatst is, kan OSCam als cardserver geconfigureerd worden. Dat wil zeggen dat OSCam de smartcard kan gebruiken voor ontsleutelen van uitzendingen en dat OSCam de smartcard kan bijwerken met gegevens van de provider.
Hoewel er veel verschillende soorten smartcards en encryptie-methodes zijn, kan OSCam inmiddels met de meeste soorten omgaan. Ondersteunde encryptie-methodes zijn:
* Seca (MediaGuard)
* Viaccess
* Irdeto
* Videoguard
* Conax
* Cryptoworks
* NagraVision
De cardserver van OSCam doet niets anders dan informatie uitwisselen met de kaart. Het plaatsen en instellen van een smartcard levert op zich nog geen ontsleuteld beeld op, daarvoor moet ook het softcam-onderdeel ingesteld worden. Voor iedere kaart wordt door OSCam een aparte cardserver gestart, die terug is te vinden in de webinterface. OSCam bedient hierbij de eigen ontvanger (dit wordt dvbapi genoemd) en eventueel softcams op andere ontvangers. Beiden worden in OSCam "users" genoemd, er wordt weinig onderscheid gemaakt tussen de eigen ontvanger en een andere ontvanger. Voor elke "user" wordt door OSCam een eigen afhandelaar gestart, die terug is te vinden in de "status" pagina van de webinterface.

### Softcam

Het softcam-onderdeel van OSCam zorgt ervoor dat versleutelde kanalen daadwerkelijk ontsleuteld worden, met behulp van een cardserver op het eigen apparaat (dat zal dan meestal ook OSCam zijn) of een cardserver op een ander apparaat. OSCam noemt dat respectievelijk een "local card" en een "proxy".

### Webinterface

OSCam is voor een groot deel met een internet-browser te volgen en in te stellen. Het omvat een algemene "status"-pagina waarop in één opslag de belangrijkste zaken te zien zijn, een aantal pagina's waarop configuratie-items zijn in te stellen en een generieke configuratie-file-editor waarmee andere configuratie-items zijn aan te passen.

### Monitor-interface

Via de monitor-interface kan een daarvoor bedoeld programma op een pc (met Windows) of Android PDA informatie opvragen van OSCam en bepaalde instellingen aanpassen.