Jelajahi Sumber

originate test

Hal De 4 tahun lalu
induk
melakukan
d1d2a4c552
2 mengubah file dengan 15 tambahan dan 9 penghapusan
  1. 11 9
      app/app.py
  2. 4 0
      app/utils.py

+ 11 - 9
app/app.py

@@ -710,17 +710,19 @@ class Originate(Resource):
   async def get(self, user, number):
     '''Originate call
     '''
-    _r, _data = await amiCommand('channel originate local/1100@from-internal extension 8005551212@outbound-allroutes')
-    channel = await getUserChannel(user)
-    if not channel:
-      return noUserChannel(userA)
-    reply = await manager.send_action({'Action':'BlindTransfer',
-                                       'Channel':channel,
-                                       'async':'false',
-                                       'Exten':userB})
+    device = await getUserDevice(user)
+    if device in NONEs:
+      return noUserDevice(user)
+    reply = await manager.send_action({'Action':'Originate',
+                                       'Channel':'PJSIP/{}'.format(device),
+                                       'Context':'from-internal',
+                                       'Exten':number,
+                                       'Priority': '1',
+                                       'Callerid': user,
+                                       'Variable': 'SIPADDHEADER="Call-Info:\;answer-after=0"'})
     if isinstance(reply, Message):
       if reply.success:
-        return successfullyTransfered(userA, userB)
+        return successfullyOriginated(user, number)
       else:
         return errorReply(reply.message)
 

+ 4 - 0
app/utils.py

@@ -148,6 +148,10 @@ def successfullyTransfered(userA, userB):
   return successReply({'userA':userA,'userB':userB},
                       'Call was successfully transfered from user {} to user {}'.format(userA, userB))
 
+def successfullyOriginated(user, number):
+  return successReply({'user':user,'number':number},
+                      'Call was successfully originated from user {} to number {}'.format(user, number))
+
 def successfullyHungup(user):
   return successReply({'user':user},
                       'Call was successfully hungup for user {}'.format(user))