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