- Registriert
- 11. Juni 2010
- Beiträge
- 4.080
- Reaktionspunkte
- 2.847
- Punkte
- 373
Hallo Zusammen,
in der Vergangenheit gab es immer wieder falsche Interpretationen der Oscam Services. Außerdem werde ich auf die Idents eingehen.
Ich möchte euch hier den Sinn der Oscam Services verdeutlichen und euch zeigen, wie Ihr fehlerhafte Anfragen auf euren Readern unterbindet und auf diesem Weg so für Entlastung für euren Server sorgt.
Die wichtigste Frage ist: Was ist ein Service?
Ein Service definiert einen verfügbaren Dienst.
In OScam kann man auf diesem Weg definieren, welche Sender (die Dienste) auf den Readern und für die Peers verfügbar sind.
Jetzt müssen wir aber zwischen Readern und Usern unterscheiden.
Reader
Folgende Situation:
Wir haben uns ein Sky Abo Full HD mit Big Brother, ohne Bundesliga aber mit gebuchten Big Brother besorgt, bekommen Sky Bundesliga aber über ein Share.
Außerdem möchten wir die Sky Select Kanäle sperren.
Lösung:
Um unnötige Anfragen auf unseren Sky Reader zu vermeiden und um diesen zu entlasten, müssen wir dafür sorgen das die Anfragen nicht bearbeitet werden. Also bauen wir uns drei Services:
Bevor wir uns dem Reader widmen, hier noch ein Hinweis:
Wenn wir einen Service zulassen setzen wir einfach einen Haken auf den Service sky. Wenn wir den Service nicht zulassen wollen, müssen wir den Haken bei !sky setzen. Das Ausrufezeichen negiert den Service.
Jetzt bearbeiten wir unseren Service:
Wir haben wie in der Ausgangssituation beschrieben zwei Reader.
Einen lokalen mit Voll Abo ohne Sky Bundesliga und einen CCcam Proxy Reader mit Voll Abo inkl. Bundesliga, wollen aber nur Bundesliga abfragen.
Oscam.server
User
Folgende Situation:
Wir haben unseren lokalen dvbapi User und unseren Sharepartner.
Das besondere hier ist, dass unser Sharepartner kein Big Brother bekommen soll.
Lösung:
Da wir in den Readern die verfügbaren Dienste bereits festgelegt haben, können wir drei Wege gehen:
Warum aber die Idents verwenden?
Der Ident ist ein wunderbares Werkzeug um nur bestimmte Caids abzugreifen. Außerdem sorgen wir mit den Idents im Reader dafür, dass auch nur die in den Idents definierten Caids verarbeitet werden. Es ist also eine Anweisung zum Filtern für den Reader, nur diese zutreffenden Kartenspezifischen Anfragen zu beantworten.
Im User ist die arbeitsweise ähnlich, allerdings müssen wir zwischen den freigegebenen Caids und Idents ein wenig unterscheiden. Die Caids sind die global für den User freigegebenen Kartendienste. Mit den Idents kann man allerdings genau bestimmen was genau der User abfragen darf. Ein gutes Beispiel hierfür ist ORF mit den Caids 0D95 und 0D05.
Bei diesen beiden Karten haben wir drei Provider IDs, wobei wir die ID 000000 ignorieren da diese global verwendet wird und uns mit den Provider IDs 000004 und 000010 beschäftigen.
Auf den ORF Karten kann man sich bekanntlich zum einen natürlich ORF, zum anderen aber auch Austria Sat buchen lassen. Der Provider 000004 steht für ORF, die 000010 steht für Austria Sat.
So schauen die Oscam Services aus (Wir gehen von der ICE Karte aus):
Natürlich wollen wir auch hier eine saubere Trennung und Arbeitsweise erreichen. Daher trennen wir die Services ganz bewusst und definieren das auch in dem ORF Reader:
So schaut dann der User aus:
Wenn wir den Ident nicht setzen würden, können die Austria Sat Anfragen dennoch versucht werden vom ORF Reader geöffnet zu werden.
Im schlimmsten Fall senden wir Timeouts zum Reader und bringen diesen so zum aussteigen.
Durch den definierten Ident 0D95:000000,000004 wird der Provider 000010 (Austria Sat) für den Reader und den User ignoriert und verursacht die Fehlermeldung No Matching Reader (was das Betrieb nicht beeinflusst) und Invalid SID (wird von keinem Reader beantwortet, wenn der Provider nicht konfiguriert ist.).
Ein weiterer Vorteil der sauberen Service und Ident Konfiguration ergibt sich beim Einsatz von CCcam in OScam und in OScam to OScam Verbindungen:
Sauber konfigurierte Services und definieren Good SIDs und Bad SIDs.
Die Idents hingegen sage dem CCcam Peer und Share (reiner CCcam Server) welche Provider er abfragen darf. Bei zwei sauber konfigurierten OScam Servern die untereinander sharen, ist die Möglichkeit von Invalid SID, No Matching Reader, Timeouts gleich gegen Null.
Außerdem haben wir als Peer die Möglichkeit bei großen Kartenpools mit den Idents die Möglichkeit, genau zu definieren welche Caids und Services wir tatsächlich nur unbedingt haben wollen. Alle anderen, nicht definierten Idents werden einfach ignoriert und sollen uns auch nicht weiter stören.
In diesem Sinne...
in der Vergangenheit gab es immer wieder falsche Interpretationen der Oscam Services. Außerdem werde ich auf die Idents eingehen.
Ich möchte euch hier den Sinn der Oscam Services verdeutlichen und euch zeigen, wie Ihr fehlerhafte Anfragen auf euren Readern unterbindet und auf diesem Weg so für Entlastung für euren Server sorgt.
Die wichtigste Frage ist: Was ist ein Service?
Ein Service definiert einen verfügbaren Dienst.
In OScam kann man auf diesem Weg definieren, welche Sender (die Dienste) auf den Readern und für die Peers verfügbar sind.
Jetzt müssen wir aber zwischen Readern und Usern unterscheiden.
Reader
Folgende Situation:
Wir haben uns ein Sky Abo Full HD mit Big Brother, ohne Bundesliga aber mit gebuchten Big Brother besorgt, bekommen Sky Bundesliga aber über ein Share.
Außerdem möchten wir die Sky Select Kanäle sperren.
Lösung:
Um unnötige Anfragen auf unseren Sky Reader zu vermeiden und um diesen zu entlasten, müssen wir dafür sorgen das die Anfragen nicht bearbeitet werden. Also bauen wir uns drei Services:
PHP:
[sky]
caid = 1702,1833
provid = 000000
srvid = 0008,0009,000A,000B,000C,000D,000E,0010,0011,0013,0014,0015,0016,0017,0018,0019,001A,001B,001C,001D,0021,0022,0023,0024,
0025,0026,0027,0029,002A,002B,0032,0034,0035,0037,0038,0039,003A,003C,003D,003E,003F,0040,0041,0042,0043,0044,0077,007A,007B,007C,
007D,007E,007F,0080,0081,0082,0083,0084,00A8,00DD,00DE,00DF,00FC,00FD,0106,0107,0110,0111,011A,011B,0124,0125,012E,012F,0138,0139,
0142,0143,014C,014D,0156,0160,016B,0175,0201,0203,0204,0206,07FF,2EFE,3331,4461,4462,6FF1,7001,7009,700A,0071,006A,006B,0072,0070,
006F
PHP:
[skybundesliga]
caid = 1702
provid = 000000
srvid = 00FC,00DF,0106,0110,011A,0124,012E,0138,0142,014C,0156,0160
PHP:
[skyselect] #Hier sind Sky Select, Blue Movie, Alpenglühen, Sky Select+ zusammen gefasst.
caid = 1702
provid = 000000
srvid = 0012,0078,0079,007A,00FB,00FE,0105,0108,010F,0119,0123,012D,0137,0141,014B,0201,0159,0163,016D,0096,0097,0098,0099,009A,009B,009C,0045,0046,003B
PHP:
[bigbrother]
caid = 1702
provid = 000000
srvid = 000F
Bevor wir uns dem Reader widmen, hier noch ein Hinweis:
Wenn wir einen Service zulassen setzen wir einfach einen Haken auf den Service sky. Wenn wir den Service nicht zulassen wollen, müssen wir den Haken bei !sky setzen. Das Ausrufezeichen negiert den Service.
Jetzt bearbeiten wir unseren Service:
Wir haben wie in der Ausgangssituation beschrieben zwei Reader.
Einen lokalen mit Voll Abo ohne Sky Bundesliga und einen CCcam Proxy Reader mit Voll Abo inkl. Bundesliga, wollen aber nur Bundesliga abfragen.
Oscam.server
PHP:
[reader]
label = sky
protocol = mouse
device = /dev/ttyUSB0
services = sky,bigbrother,!skyselect,!skybundesliga
caid = 1702,1833
boxkey = 1122334455667788
ecmwhitelist = 93
detect = cd
mhz = 600
cardmhz = 600
ident = 1702:000000;1833:000000
group = 1
emmcache = 1,3,2
blockemm-unknown = 1
PHP:
[reader]
label = share
protocol = cccam
device= sharepartner.dyndns.org,22558
user = share
password = share
services = !sky,!bigbrother,!skyselect,skybundesliga
caid = 1702
group = 2
emmcache = 1,3,2
cccversion = 2.2.1
cccmaxhops = 0 #Hier bekommen wir nur die lokalen Karten!
ccckeepalive = 1
User
Folgende Situation:
Wir haben unseren lokalen dvbapi User und unseren Sharepartner.
Das besondere hier ist, dass unser Sharepartner kein Big Brother bekommen soll.
Lösung:
Da wir in den Readern die verfügbaren Dienste bereits festgelegt haben, können wir drei Wege gehen:
- Wir setzen die Services in den Usern gar nicht ein.
- Wir setzen nur die erlaubten Services, negieren aber nicht. Damit hebeln wir das Prinzip der Services allerdings aus und es kann zu Timeouts kommen
- Wir erlauben und verweigern Services, um eine saubere Arbeitsweise zu gewährleisten.
PHP:
[account]
user = dvbapi
group = 1,2
monlevel = 4
services = sky,bigbrother,!skyselect,skybundesliga #Wir erlauben Sky, Big Brother, Bundesliga, aber verbieten Sky Select.
caid = 1702,1833
betatunnel = 1833.FFFF:1702
ident = 1702:000000;1833:000000
suppresscmd08 = 1
cccmaxhops = 1 #Um zu unserem Share zu kommen
PHP:
[account]
user = share
pwd = partner
group = 1 #Nur für unsere lokale Karte!
services = sky,!bigbrother,!skyselect,!skybundesliga #Wir erlauben im Sky, verbieten aber Big Brother, Sky Select und Bundesliga
caid = 1702,1833
betatunnel = 1833.FFFF:1702
ident = 1702:000000;1833:000000
suppresscmd08 = 1
cccmaxhops = 0 #Um nur unsere lokalen Karten zu bekommen
Warum aber die Idents verwenden?
Der Ident ist ein wunderbares Werkzeug um nur bestimmte Caids abzugreifen. Außerdem sorgen wir mit den Idents im Reader dafür, dass auch nur die in den Idents definierten Caids verarbeitet werden. Es ist also eine Anweisung zum Filtern für den Reader, nur diese zutreffenden Kartenspezifischen Anfragen zu beantworten.
Im User ist die arbeitsweise ähnlich, allerdings müssen wir zwischen den freigegebenen Caids und Idents ein wenig unterscheiden. Die Caids sind die global für den User freigegebenen Kartendienste. Mit den Idents kann man allerdings genau bestimmen was genau der User abfragen darf. Ein gutes Beispiel hierfür ist ORF mit den Caids 0D95 und 0D05.
Bei diesen beiden Karten haben wir drei Provider IDs, wobei wir die ID 000000 ignorieren da diese global verwendet wird und uns mit den Provider IDs 000004 und 000010 beschäftigen.
Auf den ORF Karten kann man sich bekanntlich zum einen natürlich ORF, zum anderen aber auch Austria Sat buchen lassen. Der Provider 000004 steht für ORF, die 000010 steht für Austria Sat.
So schauen die Oscam Services aus (Wir gehen von der ICE Karte aus):
PHP:
[orf]
caid = 0D95 #ICE
provid = 000000,000004
srvid = 132F,1330,32C9,32CA,32CB,32CC,32CD,32CE,32CF,32D0,32D1,32D2,32D3,32D4,3332,4E27
PHP:
[austriasat]
caid = 0D95
provid = 000000,000010
srvid = 003E,0045,0046,07FA,07FD,07FF,2EFE,4461,4462,6FEE,6FEF,6FF0,6FF3,6FFF,003B
Natürlich wollen wir auch hier eine saubere Trennung und Arbeitsweise erreichen. Daher trennen wir die Services ganz bewusst und definieren das auch in dem ORF Reader:
PHP:
[reader]
label = orf
protocol = mouse
device = /dev/ttyUSB1
services = orf,!austriasat
caid = 0D95
ecmwhitelist = 80,B8
detect = cd
mhz = 368
cardmhz = 368
ident = 0D95:000000,000004
group = 3
emmcache = 1,3,2
blockemm-unknown = 1
So schaut dann der User aus:
PHP:
[account]
user = dvbapi
group = 3
monlevel = 4
services = orf,!austriasat
caid = 0D95
ident = 0D95:000000,000004
suppresscmd08 = 1
Wenn wir den Ident nicht setzen würden, können die Austria Sat Anfragen dennoch versucht werden vom ORF Reader geöffnet zu werden.
Im schlimmsten Fall senden wir Timeouts zum Reader und bringen diesen so zum aussteigen.
Durch den definierten Ident 0D95:000000,000004 wird der Provider 000010 (Austria Sat) für den Reader und den User ignoriert und verursacht die Fehlermeldung No Matching Reader (was das Betrieb nicht beeinflusst) und Invalid SID (wird von keinem Reader beantwortet, wenn der Provider nicht konfiguriert ist.).
Ein weiterer Vorteil der sauberen Service und Ident Konfiguration ergibt sich beim Einsatz von CCcam in OScam und in OScam to OScam Verbindungen:
Sauber konfigurierte Services und definieren Good SIDs und Bad SIDs.
Die Idents hingegen sage dem CCcam Peer und Share (reiner CCcam Server) welche Provider er abfragen darf. Bei zwei sauber konfigurierten OScam Servern die untereinander sharen, ist die Möglichkeit von Invalid SID, No Matching Reader, Timeouts gleich gegen Null.
Außerdem haben wir als Peer die Möglichkeit bei großen Kartenpools mit den Idents die Möglichkeit, genau zu definieren welche Caids und Services wir tatsächlich nur unbedingt haben wollen. Alle anderen, nicht definierten Idents werden einfach ignoriert und sollen uns auch nicht weiter stören.
In diesem Sinne...
Zuletzt bearbeitet von einem Moderator: