|
|
Les trucades s'emmagatzemen a `ewan.isp.call`.
|
|
|
|
|
|
Per importar CDRs, el vertical fa servir **Perfils d'importació** (`ewan.isp.profile`). Un perfil conté els camps:
|
|
|
|
|
|
* **Nom**
|
|
|
* **Proveïdor**: `res.partner` del proveïdor
|
|
|
* **Tarifa**: Tarifa del proveïdor, serveix per calcular el **cost** de les trucades
|
|
|
* **Tipus de descàrrega**: De moment només hi ha definit el tipus `ftp`
|
|
|
* Detalls de connexió a l'FTP, quan el tipus és `ftp`. Altres tipus definiran els corresponents camps
|
|
|
* **Model**: Model d'Odoo on es defineix com s'importen fitxers CDR i es creen importacions de trucades (`ewan.isp.call.import`)
|
|
|
|
|
|
## Models d'importació
|
|
|
|
|
|
Els models d'importació tenen el conveni de nom `ewan.isp.cdr.xxx`, p. ex., `ewan.isp.cdr.lemonvil` per al proveïdor de trucades Lemonvil. Aquests models hereten de la classe abstracta `ewan.isp.cdr.base`, on es poden definir funcionalitats comunes. En principi cap d'aquestes classes definirà *camps*, només mètodes.
|
|
|
|
|
|
Cada model d'importació ha de definir un mètode:
|
|
|
|
|
|
``` python
|
|
|
@api.model
|
|
|
def read_cdrs(self, profile=False, path=False):
|
|
|
...
|
|
|
```
|
|
|
Aquest mètode pot actualitzar el perfil, per exemple per registrar l'última data importada. Aquest mètode s'encarregarà de llegir CDRs i crear registres d'importació de trucades i trucades a l'Odoo.
|
|
|
|
|
|
## Cron
|
|
|
|
|
|
El `cron` es defineix al model d'importacions de trucades `ewan.isp.call.import`.
|
|
|
|
|
|
## Configuració
|
|
|
|
|
|
A `Settings` es defineixen els mòduls amb models d'importació disponibles, així com, el camí base des d'on penjaran els directoris necessaris per a la importació de CDRs.
|
|
|
|
|
|
## Exemple
|
|
|
|
|
|
Es pot utilitzar el mòdul `ewan_isp_cdr_lemonvil` com a base i exemple per desenvolupar altres mòduls per a diferents proveïdors. |
|
|
\ No newline at end of file |