diff --git a/routes/jami.js b/routes/jami.js
index 28c4a05..32c2d1c 100644
--- a/routes/jami.js
+++ b/routes/jami.js
@@ -155,6 +155,28 @@
             }
         })
 
+        // Calls
+
+        accountRouter.get('/calls', async (req, res) => {
+            console.log(`Get calls for account ${req.params.accountId}`)
+            try {
+                const calls = await this.jami.getCalls(req.params.accountId)
+                res.json(calls).end()
+            } catch (e) {
+                res.status(400).json({ error: e.message })
+            }
+        })
+
+        accountRouter.get('/calls/:callId', async (req, res) => {
+            console.log(`Get call ${callId} for account ${req.params.accountId}`)
+            try {
+                const messages = await this.jami.getCall(req.params.accountId, req.params.callId)
+                res.json(messages).end()
+            } catch (e) {
+                res.status(400).json({ error: e.message })
+            }
+        })
+
         // Nameserver
         const nsRouter = Router({mergeParams: true})
         accountRouter.use('/ns', nsRouter) // use account nameserver
