Basic SIP Calls _____________________________________________ Luca Veltri 26/10/2006 (luca.veltri@unipr.it) Sommario --------------------------------------------------------------- 1) Direct call: UA1-->UA2 2) Call through Destination Proxy (Registrar+Proxy): UA2-reg->Registrar , UA1-->Registrar/Proxy-->UA2 3) Call through Destination Proxy on-route: UA2-reg->Registrar , UA1-->Registrar/Proxy-->UA2 4) Call through Destination Redirect (Registrar+Redirect): UA2-reg->Registrar , UA1-->Registrar/Redirect-->UA2 5) Forking calls at the Destination Proxy: UA21-reg->Registrar , UA22-reg->Registrar , UA1-->Registrar/Proxy-->UA21 6) Call through Outbound Proxy and Destination Proxy on-route: UA2-reg->Registrar , UA1-->Proxy-->Registrar/Proxy-->UA2 7) UAs and servers on different hosts 8) Server registrations: UA1-->S2n-->..-->S22-->S21-->UA2 Basic Calls --------------------------------------------------------------- 1) Direct call: UA1-->UA2 # caller UA (UA1) bin\uac -f config\a.cfg # callee UA (UA2) bin\uac -f config\b.cfg # tests: # UA2 accepts the call # UA2 refuses the call # UA1 cncels the call # caller UA (UA1) with automatic dialing bin\uac -f config\a.cfg -c 127.0.0.8:5080 # callee UA (UA2) with automaitc answer (example, after 2secs) bin\uac -f config\b.cfg -y 2 # graphical UA bin\uaw -f config\a.cfg 2) Call through Destination Proxy (Registrar+Proxy): UA2-reg->Registrar , UA1-->Registrar/Proxy-->UA2 # registrar + stateless proxy bin\proxy # callee UA (UA2) registered bin\uac -f config\b.cfg -g 1800 -y 0 # caller UA (UA1) with automatic dialing bin\uac -f config\a.cfg -c bob@127.0.0.8 # registrar + statefull proxy bin\sproxy 3) Call through Destination Proxy on-route: UA2-reg->Registrar , UA1-->Registrar/Proxy-->UA2 # set on-route parameter in server.cfg # then, repeat steps of (2) 4) Call through Destination Redirect (Registrar+Redirect): UA2-reg->Registrar , UA1-->Registrar/Redirect-->UA2 # use redirect instead of proxy bin\redirect 5) Forking calls at the Destination Proxy: UA21-reg->Registrar , UA22-reg->Registrar , UA1-->Registrar/Proxy-->UA21 # register two UAs (UA21 and UA22) on S2 with the same AOR (i.e. the From URL) bin\uac -f config\b.cfg -g 1800 bin\uac -f config\b2.cfg -g 1800 # caller UA (UA1) bin\uac -f config\a.cfg -c bob@127.0.0.8 # try with both Proxy (bin/proxy) and StatefulProxy (bin/sproxy) 6) Call through Outbound Proxy and Destination Proxy on-route: UA2-reg->Registrar , UA1-->Proxy-->Registrar/Proxy-->UA2 # set outbound_proxy parameter in a.cfg # then, repeat steps of (2) # try with both Proxy (bin/proxy) and StatefulProxy (bin/sproxy) 7) UAs and servers on different hosts # the same as (6) but with UAs and proxies on different hosts; example: UA1 and S1 on host1 and UA2 and S2 on host2 8) Server registrations: UA2-reg->S21 , [S2(k-1)-reg->S2k ,] UA1-->S2n-->..-->S22-->S21-->UA2 # starts two or more servers (Registrar/Proxy), e.g. S21 and S22 # register UA2 with S21 as in (2) # create a new s21.cfg UA configuration file in order to register S21 with S22, using bin/uac -f config/s21.cfg # optionally create a new s22.cfg UA configuration file in order to register S22 with S23, etc. # then make a call as in (2)