flow:
  - start|DEFAULT_ONREPLY:
  - start|REPLY_ROUTE_NAT:
  - start|ROUTE_ENTRY:
  - return|ROUTE_ENTRY:
  - start|ROUTE_APPLY_HEADER_RULES:
  - return|ROUTE_APPLY_HEADER_RULES:
  - start|REPLY_SCA_UPDATE:
  - return|REPLY_SCA_UPDATE:
  - start|ROUTE_PREPARE_UA:
  - return|ROUTE_PREPARE_UA:
  - start|REPLY_ROUTE_NAT_CONTINUE:
  - start|ROUTE_EXIT:
  - start|ROUTE_RUNTIME:
  - return|ROUTE_RUNTIME:
  - exit|ROUTE_EXIT:
sip_in:
  - 'SIP/2.0 180 Ringing'
  - 'From: <sip:[% incoming_shared_line_scenarios_pbx_test.testuser1003.pbx_phone_number %]@incoming-shared-line.scenarios-pbx.test>;tag=[\w-]+'
  - 'To: <sip:1002@incoming-shared-line.scenarios-pbx.test>;tag=[\w-]+'
  - 'CSeq: \d+ INVITE'
  - 'Allow: INVITE, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE'
  - 'Call-Info: <sip:incoming-shared-line.scenarios-pbx.test>;appearance-index=1'
  - 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
  - 'Content-Length: 0'
sip_out:
  - [
      'PUBLISH sip:testuser1003@incoming-shared-line.scenarios-pbx.test SIP/2.0',
      'To: <sip:testuser1003@incoming-shared-line.scenarios-pbx.test>',
      'From: <sip:testuser1003@incoming-shared-line.scenarios-pbx.test>;tag=[\w-]+',
      'CSeq: \d+ PUBLISH',
      'Content-Length:\s+\d+',
      'User-Agent: Sipwise NGCP Proxy',
      'Event: dialog',
      'SIP-If-Match: .+',
      'Content-Type: application/dialog\-info\+xml',
    ]
  - [
      'SIP/2.0 180 Ringing',
      'From: <sip:testuser1003@incoming-shared-line.scenarios-pbx.test>;tag=[\w-]+',
      'To: <sip:1002@incoming-shared-line.scenarios-pbx.test>;tag=[\w-]+',
      'CSeq: \d+ INVITE',
      'Allow: INVITE, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE',
      'Contact: <sip:127.0.0.1:508[08];transport=udp>',
      'Content-Length: 0',
      'P-COLP-Identity: "1002" <sip:1002@incoming-shared-line.scenarios-pbx.test>',
      'P-Out-Socket: udp:127.0.0.1:5060',
    ]
