Played rather a lot with the manager interface last night. Have extended pyst somewhat to properly handle sequences-of-events bearing content for a response, but I seem to be having some sort of block in my understanding of the manager API wrt generating calls.

The code looks like this:

   result = m.originate(
       'SIP/%s'%(targetURL,),
       's',
       context='outgoing',
       priority='1',
       variables = {'WaitTime':'45'},
   )

and the result that's returned is basically just an "okay, we queued the message" message:

   Message( headers={'Message': 'Originate successfully queued',
   'Response': 'Success', 'ActionID': 'raistlin-00000001'}, data='\n',
   events=None )

which doesn't give me any information about what channel will be created (or, more importantly, fail to be created). I can retrieve a Status listing that shows the channel (and, of course, I can capture the incoming channel events to get the same), but if I'm creating 8 or 9 channels at the same time (or someone else is, for instance on a busy PSTN gateway), how do I know whether this *particular* connection has connected to the requested context (or failed)?

Status looks like this:

   Message( headers={'Message': 'Channel status will follow',
   'Response': 'Success', 'ActionID': 'raistlin-00000002'}, data='\n',
   events=[Event( headers={'Account': '', 'CallerID': '<unknown>',
   'State': 'Up', 'ActionID': 'raistlin-00000002', 'Uniqueid':
   '1137691987.8', 'Event': 'Status', 'Channel': 'SIP/aci.on.ca-7e1f'},
   data='\n' ), Event( headers={'Event': 'StatusComplete', 'ActionID':
   'raistlin-00000002'}, data='\n' )] )

So, in short, is there any way to determine which channel corresponds to which originate call in order to track whether the channel has connected to the end user?

Thanks all,
Mike

--
________________________________________________
 Mike C. Fletcher
 Designer, VR Plumber, Coder
 http://www.vrplumber.com
 http://blog.vrplumber.com

Reply via email to