Esempio n. 1
0
	def runTest( self ):
		d = Dispatcher.getInstance()

		c = Context( 'Root' )
		c.start()

		p = TestParent()
		d.add( obj=p, parentObj=None, context=c )

		t = UasTransaction()
		d.add( obj=t, parentObj=None, context=c )
		d.addListener( t, p )

		s = 'SUBSCRIBE sip:chloe@cave;treats SIP/2.0\r\nTo: "Matt"<sip:matthew@cave>\r\nContact: "RileyMan"<sip:riley@cave>\r\nFrom: "Josh"<sip:joshua@cave>\r\n\r\n'
		m = Message( s )
		e = MessageEvent( MessageEvent.EVENT_RX, message=m, transport='udp', localAddress='127.0.0.1', localPort=9000, remoteAddress='127.0.0.1', remotePort=9001 )
		d.send( e, srcObj = p, dstObj = t )

		s = 'SIP/2.0 100 Trying\r\nTo: "Matt"<sip:matthew@cave>\r\nContact: "RileyMan"<sip:riley@cave>\r\nFrom: "Josh"<sip:joshua@cave>\r\n\r\n'
		m = Message( s )
		e = MessageEvent( MessageEvent.EVENT_TX, message=m, transport='udp', localAddress='127.0.0.1', localPort=9000, remoteAddress='127.0.0.1', remotePort=9001 )
		d.send( e, srcObj = p, dstObj = t )

		s = 'SIP/2.0 200 OK\r\nTo: "Matt"<sip:matthew@cave>\r\nContact: "RileyMan"<sip:riley@cave>\r\nFrom: "Josh"<sip:joshua@cave>\r\n\r\n'
		m = Message( s )
		e = MessageEvent( MessageEvent.EVENT_TX, message=m, transport='udp', localAddress='127.0.0.1', localPort=9000, remoteAddress='127.0.0.1', remotePort=9001 )
		d.send( e, srcObj = p, dstObj = t )

		d.send( Event( t.EVENT_TIMER_J ), srcObj = p, dstObj = t )

		c.stop()
Esempio n. 2
0
    def runTest( self ):
        c = Context( 'Root' )
        c.start()

        o0 = self.TestObj()
        Dispatcher.add( obj=o0, parentObj=None, context=c )

        o1 = self.TestObj()
        Dispatcher.add( obj=o1, parentObj=None, context=c )
        Dispatcher.addListener( srcObj=o1, dstObj=o0 )

        Dispatcher.send( event=Event( '1' ), srcObj=o0, dstObj=o1 )
        assert( str(o1.lastHandler) == 'on1' )

        Dispatcher.queue( event=Event( '2' ), srcObj=o0, dstObj=o1 )
        #assert( str(o1.lastHandler) == 'on2' )

        Dispatcher.send( event=Event( '3' ), srcObj=o0, dstObj=o1 )
        #assert( str(o1.lastHandler) == 'on3' )

        Dispatcher.notify( event=Event( '4' ), srcObj=o1 )
        #assert( str(o1.lastHandler) == 'on4' )
        Dispatcher.notify( event=Event( '4' ), srcObj=o1 )
        #assert( str(o1.lastHandler) == 'on4' )

        c.stop()
Esempio n. 3
0
	def runTest( self ):
		c = Context( 'Root' )
		c.start()

		l = TestListener()
		Dispatcher.add( l, context = c )

		config = TestConfiguration()

		e = NetEvent( NetEvent.EVENT_BIND, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ) )

		o = TcpBinding( e )
		Dispatcher.add( o, context=c )
		Dispatcher.addListener( o, l )
		o.addConfiguration( config )

		e = NetEvent( NetEvent.EVENT_BIND, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ) )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		packet = '' \
'REGISTER sip:sip.example.com SIP/2.0\r\n' \
'Via: SIP/2.0/UDP 192.168.1.1:5060;rport;branch=z9hG4bK58790139-438475846\r\n' \
'Max-Forwards: 70\r\n' \
'Allow: INVITE,BYE,CANCEL,ACK,INFO,PRACK,OPTIONS,SUBSCRIBE,NOTIFY,PUBLISH,MESSAGE,REFER,REGISTER,UPDATE\r\n' \
'Supported: path,replaces,norefersub\r\n' \
'User-Agent: IMS Phone 49\r\n' \
'From: <sip:[email protected]>;tag=UA_58790139-438475847\r\n' \
'To: <sip:[email protected]>\r\n' \
'Call-ID: 58790139-438475845\r\n' \
'CSeq: 1 REGISTER\r\n' \
'Expires: 3600\r\n' \
'Contact: 1<sip:[email protected]:5060;transport=tcp>;expires=3600\r\n' \
'Authorization: Digest username="******",realm="sip.example.com",nonce="",uri="sip:sip.example.com",response=""\r\n' \
'Content-Length: 0\r\n' \
'\r\n'

		e = NetEvent( BindingBase.EVENT_QUEUE, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ), remoteAddress=config.query( 'network.remoteAddress' ), remotePort=config.query( 'network.remotePort' ), packet=packet )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		e = NetEvent( BindingBase.EVENT_WRITE, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ), remoteAddress=config.query( 'network.remoteAddress' ), remotePort=config.query( 'network.remotePort' ) )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		e = NetEvent( BindingBase.EVENT_READ, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ), remoteAddress=config.query( 'network.remoteAddress' ), remotePort=config.query( 'network.remotePort' ) )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		e = NetEvent( NetEvent.EVENT_UNBIND, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ) )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		c.stop()
Esempio n. 4
0
    def runTest( self ):
        events = [ Event( 'event0' ), Event( 'event1' ), Event( 'event2' ) ]

        o = TestObj( events )

        c = Context( 'context0' )

        for event in events:
            future = c.queue( event, o, o )
        time.sleep( 0.1 )

        c.poll()
Esempio n. 5
0
	def runTest( self ):
		d = Dispatcher.getInstance()

		c = Context( 'Root' )
		c.start()

		p = TestParent()
		d.add( obj=p, parentObj=None, context=c )

		t = UacTransactionInvite()
		d.add( obj=t, parentObj=None, context=c )
		d.addListener( t, p )

		d.send( Event( 'INVITE' ), srcObj = p, dstObj = t )
		d.send( Event( 'TimerA' ), srcObj = p, dstObj = t )
		d.send( Event( '1xx' ), srcObj = p, dstObj = t )
		d.send( Event( '3xx' ), srcObj = p, dstObj = t )
		d.send( Event( 'TimerD' ), srcObj = p, dstObj = t )

		c.stop()
Esempio n. 6
0
    def runTest( self ):
        d = Dispatcher.getInstance()

        c = Context( 'Root' )
        c.start()

        o = self.TestObj()
        d.add( obj=o, parentObj=None, context=c )

        o.Start()
        assert( str(o.state.currentState) == o.STATE_STARTED )
        assert( str(o.lastHandler) == 'inStarted_onEnter' )
        o.Pause()
        assert( str(o.state.currentState) == 'Paused' )
        assert( str(o.lastHandler) == 'inPaused_onEnter' )
        o.Stop()
        assert( str(o.state.currentState) == 'Stopped' )
        assert( str(o.lastHandler) == 'inStopped_onEnter' )

        c.stop()
Esempio n. 7
0
	def runTest( self ):
		d = Dispatcher.getInstance()

		c = Context( 'Root' )
		c.start()

		dialog = UasDialogSubscribe() #FIXME: pass event?
		d.add( obj=dialog, parentObj=None, context=c )

		s = 'SUBSCRIBE sip:chloe@cave;treats SIP/2.0\r\nTo: "Matt"<sip:matthew@cave>\r\nContact: "RileyMan"<sip:riley@cave>\r\nFrom: "Josh"<sip:joshua@cave>\r\nExpires: 3600\r\nCall-ID: abcd\r\n\r\n'
		m = Message( s )
		e = MessageEvent( MessageEvent.EVENT_RX, message=m, transport='udp', localAddress='127.0.0.1', localPort=9000, remoteAddress='127.0.0.1', remotePort=9001 )
		d.send( e, srcObj = dialog, dstObj = dialog )

		s = 'SIP/2.0 100 Trying\r\nTo: "Matt"<sip:matthew@cave>\r\nContact: "RileyMan"<sip:riley@cave>\r\nFrom: "Josh"<sip:joshua@cave>\r\nCall-ID: abcd\r\n\r\n'
		m = Message( s )
		e = MessageEvent( MessageEvent.EVENT_RX, message=m, transport='udp', localAddress='127.0.0.1', localPort=9000, remoteAddress='127.0.0.1', remotePort=9001 )
		d.send( e, srcObj = dialog, dstObj = dialog )

		s = 'SIP/2.0 200 OK\r\nTo: "Matt"<sip:matthew@cave>\r\nContact: "RileyMan"<sip:riley@cave>\r\nFrom: "Josh"<sip:joshua@cave>\r\nCall-ID: abcd\r\n\r\n'
		m = Message( s )
		e = MessageEvent( MessageEvent.EVENT_RX, message=m, transport='udp', localAddress='127.0.0.1', localPort=9000, remoteAddress='127.0.0.1', remotePort=9001 )
		d.send( e, srcObj = dialog, dstObj = dialog )

		s = 'SUBSCRIBE sip:chloe@cave;treats SIP/2.0\r\nTo: "Matt"<sip:matthew@cave>\r\nContact: "RileyMan"<sip:riley@cave>\r\nFrom: "Josh"<sip:joshua@cave>\r\nCall-ID: abcd\r\nExpires: 0\r\n\r\n'
		m = Message( s )
		e = MessageEvent( MessageEvent.EVENT_RX, message=m, transport='udp', localAddress='127.0.0.1', localPort=9000, remoteAddress='127.0.0.1', remotePort=9001 )
		d.send( e, srcObj = dialog, dstObj = dialog )

		s = 'SIP/2.0 200 OK\r\nTo: "Matt"<sip:matthew@cave>\r\nContact: "RileyMan"<sip:riley@cave>\r\nFrom: "Josh"<sip:joshua@cave>\r\n\r\n'
		m = Message( s )
		e = MessageEvent( MessageEvent.EVENT_RX, message=m, transport='udp', localAddress='127.0.0.1', localPort=9000, remoteAddress='127.0.0.1', remotePort=9001 )
		d.send( e, srcObj = dialog, dstObj = dialog )

		sleep( 4 )

		assert 1
Esempio n. 8
0
    def runTest( self ):
        events = [ Event( 'event0' ), Event( 'event1' ), Event( 'event2' ) ]

        o = TestObj( events )

        c = Context( 'context0' )
        c.start()

        for event in events:
            future = c.queue( event, o, o )
            #print future
            #future.cancel()
            #print future()
            #print future
        time.sleep( 0.1 )

        c.stop()