Manual › Running, reports and more

Multiple dialogs in a scenario

Very often a single scenario has to handle several dialogs. Typical examples:

  1. a client registers and receives a call;
  2. a client registers and makes a call;
  3. a server receives a registration followed by an incoming call;
  4. a server receives a registration and makes a call;
  5. a client registers every half an hour and handles incoming calls or OPTIONS messages.

A scenario with several dialogs must have a clear boundary between them: the New Dialog command (Command tab). Every dialog gets a Call-ID of its own.

a) Client registers and receives a call
---> REGISTER
<--- 407*
---> REGISTER*
<--- 200
New Dialog
<--- INVITE
---> 100
---> 180
---> 200
<--- ACK
---- Pause[ms]=15000
<--- BYE
---> 200
b) Client registers and makes a call
---> REGISTER
<--- 401
---> REGISTER
<--- 200
New Dialog
---> INVITE
<--- 100*
<--- 401
---> ACK
---> INVITE
<--- 100*
<--- 180
<--- 200
---> ACK
---- RTP Speech
---- Pause[ms]=15000
---> BYE
<--- 200
c) Server: registration, then a call
<--- REGISTER
---> 200
New Dialog
<--- INVITE
---> 100
---> 180
---> 200
<--- ACK
---- Pause[ms]=15000
<--- BYE
---> 200
d) Server: registration, then it calls
<--- REGISTER
---> 200
New Dialog
---> INVITE     // a new Call-ID is recommended
<--- 100*
<--- 180
<--- 200
---> ACK
---- Play pcap=test.pcap
---- Pause[ms]=15000
---> BYE
<--- 200

e) Periodic registration, incoming calls and OPTIONS:

start:
---> REGISTER
<--- 401
---> REGISTER
<--- 200
---- Pause[ms]=1800000
goto start
New Dialog
<--- INVITE
---> 100
---> 180
---> 200
<--- ACK
---- Play pcap=test.pcap
<--- BYE
---> 200
New Dialog
<--- OPTIONS
---> 200

Samples: Reg_call_client.txt and Reg_call_server.txt (a, b, c), Reg_subscribe_incoming_call_client.txt and PBX_reg_incoming_call_client.txt (e).