t/01_load.t ............................. 1..1 ok 1 - loading Net::SIP* ok # call created # got ringing # call established # call cleaned up # call created # got ringing # call established # call cleaned up # call created # got ringing # call established # call cleaned up # call created # got ringing # call established # call cleaned up # call created # got ringing # call established # call cleaned up # call created # got ringing # call established # call cleaned up t/02_listen_and_invite.t ................ 1..60 # ------- test with family ip4 transport udp ok 1 - create UAS socket ok 2 - fork successful ok 3 - UAS created # ok 4 - UAC created ok 5 - UAS ready # ok 6 - got ringing ok 7 - no error on UAC ok 8 - Call established ok 9 - UAS down ok 10 - UAS finished # ------- test with family ipv6 transport udp ok 11 - create UAS socket ok 12 - fork successful ok 13 - UAS created # ok 14 - UAC created ok 15 - UAS ready # ok 16 - got ringing ok 17 - no error on UAC ok 18 - Call established ok 19 - UAS down ok 20 - UAS finished # ------- test with family ip4 transport tcp ok 21 - create UAS socket ok 22 - fork successful ok 23 - UAS created # ok 24 - UAC created ok 25 - UAS ready # ok 26 - got ringing ok 27 - no error on UAC ok 28 - Call established ok 29 - UAS down ok 30 - UAS finished # ------- test with family ipv6 transport tcp ok 31 - create UAS socket ok 32 - fork successful ok 33 - UAS created # ok 34 - UAC created ok 35 - UAS ready # ok 36 - got ringing ok 37 - no error on UAC ok 38 - Call established ok 39 - UAS down ok 40 - UAS finished # ------- test with family ip4 transport tls ok 41 - create UAS socket ok 42 - fork successful ok 43 - UAS created # ok 44 - UAC created ok 45 - UAS ready # ok 46 - got ringing ok 47 - no error on UAC ok 48 - Call established ok 49 - UAS down ok 50 - UAS finished # ------- test with family ipv6 transport tls ok 51 - create UAS socket ok 52 - fork successful ok 53 - UAS created # ok 54 - UAC created ok 55 - UAS ready # ok 56 - got ringing ok 57 - no error on UAC ok 58 - Call established ok 59 - UAS down ok 60 - UAS finished ok t/03_forward_stateless.t ................ 1..6 ok 1 - expected leg ok 2 - expected leg ok 3 - expected leg ok 4 - expected leg ok 5 - expected leg ok 6 - expected leg ok t/04_call_with_rtp.t .................... 1..48 # ------- test with family ip4 transport udp # UAS on 127.0.0.1:53627 # UAC on 127.0.0.1:36187 ok 1 - UAC created ok 2 - UAS ready # # call created ok 3 - no error on UAC ok 4 - Call established # call established ok 5 - Done sending RTP # call cleaned up ok 6 - UAS down # received 100/100 packets ok 7 - UAS RTP ok # ok 8 - UAS finished # ------- test with family ip6 transport udp # UAS on [::1]:57873 # UAC on [::1]:39479 ok 9 - UAC created ok 10 - UAS ready # # call created ok 11 - no error on UAC ok 12 - Call established # call established ok 13 - Done sending RTP # call cleaned up # received 100/100 packets ok 14 - UAS down ok 15 - UAS RTP ok # ok 16 - UAS finished # ------- test with family ip4 transport tcp # UAS on 127.0.0.1:56059 # UAC on 127.0.0.1:39287 ok 17 - UAC created ok 18 - UAS ready # # call created ok 19 - no error on UAC ok 20 - Call established # call established ok 21 - Done sending RTP # call cleaned up # received 100/100 packets ok 22 - UAS down ok 23 - UAS RTP ok # ok 24 - UAS finished # ------- test with family ip6 transport tcp # UAS on [::1]:39515 # UAC on [::1]:34795 ok 25 - UAC created ok 26 - UAS ready # # call created ok 27 - no error on UAC ok 28 - Call established # call established ok 29 - Done sending RTP # call cleaned up ok 30 - UAS down # received 100/100 packets ok 31 - UAS RTP ok # ok 32 - UAS finished # ------- test with family ip4 transport tls # UAS on 127.0.0.1:33527 # UAC on 127.0.0.1:58089 ok 33 - UAC created ok 34 - UAS ready # # call created ok 35 - no error on UAC ok 36 - Call established # call established ok 37 - Done sending RTP # call cleaned up ok 38 - UAS down # received 100/100 packets ok 39 - UAS RTP ok # ok 40 - UAS finished # ------- test with family ip6 transport tls # UAS on [::1]:53365 # UAC on [::1]:37065 ok 41 - UAC created ok 42 - UAS ready # # call created ok 43 - no error on UAC ok 44 - Call established # call established ok 45 - Done sending RTP # call cleaned up ok 46 - UAS down # received 100/100 packets ok 47 - UAS RTP ok # ok 48 - UAS finished ok t/05_call_with_stateless_proxy.t ........ 1..378 # ------- test with family ip4 transport udp # UAS on 127.0.0.1:55594 # UAC on 127.0.0.1:53439 # PROXY on 127.0.0.1:58062 127.0.0.1:41013 # proxy >> OK # << ok 1 - [proxy] OK # uas >> OK # << ok 2 - [uas] OK # proxy >> ready # << ok 3 - [proxy] ready # uas >> ready # << ok 4 - [uas] ready # uac >> OK # << ok 5 - [uac] OK # uac >> ready # << ok 6 - [uac] ready # uac >> O> 127.0.0.1:58062 REQ(INVITE) SDP: audio=127.0.0.1:9962/2 # << ok 7 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add598a50) REQ(INVITE) SDP: audio=127.0.0.1:9962/2 # << ok 8 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:55594 REQ(INVITE) SDP: audio=127.0.0.1:9962/2 # << ok 9 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add59da70) REQ(INVITE) SDP: audio=127.0.0.1:9962/2 # << ok 10 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 11 - outgoing on UAC must be the same as incoming on proxy ok 12 - outgoing on proxy must be the same as incoming on UAS ok 13 - SDP must pass unchanged to UAS # uas >> O> 127.0.0.1:41013 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 14 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP 127.0.0.1:41013;branch=z9hG4bK86269a9f03222160b621c3ea9db2c27efbc47ee263fa312bed3b7e8c878b02 # Record-route: # Via: SIP/2.0/UDP 127.0.0.1:58062;branch=z9hG4bK939a70fbaca8446c68325c80e9dba254fbc47ee263fa312a74aff75cca147a # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP 127.0.0.1:53439;branch=z9hG4bKb750ab8bc53b4b913620fd065a22a16dfbc47ee263fa312ca4478de9f75127 # Call-id: 06f2d3f002ab00592627571de7dad0de # Cseq: 1 INVITE # From: me.uac@example.com;tag=0142d34b11ab9cb99e5f54846e253eab # Content-type: application/sdp # Content-length: 175 # Max-forwards: 69 # Contact: sip:bAOPMLKC4YLET7JY3E5VQTGJBHAE2WYCDQF7GGY455S5N75XZMNHXWAY@127.0.0.1:41013 # To: you.uas@example.com;tag=78b3172f3e6267966ebc8faba50e18b0 # # v=0 # o=anonymous 1541795092 1541795092 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 9962 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 15 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:41013\;) ok 16 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:53439\;) # uac >> I< HASH(0x556add5984e8) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add598ec0) RSP(INVITE,200) SDP: audio=127.0.0.1:6364/2 # << # uac >> O> 127.0.0.1:58062 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 17 - [uac] RTP done # uas >> O> 127.0.0.1:41013 RSP(INVITE,200) SDP: audio=127.0.0.1:6364/2 # I< HASH(0x556add5af3d8) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5a8210) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:41013 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 18 - [uas] RTP ok # uac >> O> 127.0.0.1:58062 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556adcdc5e28) RSP(BYE,200) NO SDP # << # uac >> END # << ok 19 - [uac] END ok 20 - [uas] END # proxy >> OK # << ok 21 - [proxy] OK # uas >> OK # << ok 22 - [uas] OK # proxy >> ready # << ok 23 - [proxy] ready # uas >> ready # << ok 24 - [uas] ready # uac >> OK # << ok 25 - [uac] OK # uac >> ready # << ok 26 - [uac] ready # uac >> O> 127.0.0.1:58062 REQ(INVITE) SDP: audio=127.0.0.1:4428/2 # << ok 27 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add59cfb8) REQ(INVITE) SDP: audio=127.0.0.1:4428/2 # << ok 28 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:55594 REQ(INVITE) SDP: audio=127.0.0.1:11426/2 # << ok 29 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5a2e10) REQ(INVITE) SDP: audio=127.0.0.1:11426/2 # << ok 30 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 31 - outgoing on UAC must be the same as incoming on proxy ok 32 - outgoing on proxy must be the same as incoming on UAS ok 33 - allocated addr:port must be different (127.0.0.1:4428|127.0.0.1:11426) ok 34 - ranges must stay the same # uas >> O> 127.0.0.1:41013 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 35 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP 127.0.0.1:41013;branch=z9hG4bK86269a9f03222160b621c3ea9db2c27e7a26f6ffa87996c65ec34714f321f5 # Record-route: # Via: SIP/2.0/UDP 127.0.0.1:58062;branch=z9hG4bK939a70fbaca8446c68325c80e9dba2547a26f6ffa87996cf9662c3e0ba7d9e # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP 127.0.0.1:53439;branch=z9hG4bKb750ab8bc53b4b913620fd065a22a16d7a26f6ffa87996c7567bc974f01b92 # Call-id: f0c8ad4141b313179bda27364915d89e # Cseq: 1 INVITE # From: me.uac@example.com;tag=cf131a1ccbbceb50af462c1b2331bdd6 # Content-type: application/sdp # Max-forwards: 69 # Contact: sip:bFVAL3ODJM4QQ4YVPW7OXMGOUQPRPLN2KYGW4J6IYNBAGNXP54ZYJE3Y@127.0.0.1:41013 # Content-length: 176 # To: you.uas@example.com;tag=3fa8e23b3dd3887465da3556bec74902 # # v=0 # o=anonymous 1541795094 1541795094 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 11426 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 36 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:41013\;) ok 37 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:53439\;) # uac >> I< HASH(0x556add5994b0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5b1620) RSP(INVITE,200) SDP: audio=127.0.0.1:10510/2 # << # uac >> O> 127.0.0.1:58062 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 38 - [uac] RTP done # uas >> O> 127.0.0.1:41013 RSP(INVITE,200) SDP: audio=127.0.0.1:8946/2 # I< HASH(0x556add5b37e8) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5a5b20) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:41013 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 39 - [uas] RTP ok # uac >> O> 127.0.0.1:58062 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5b1698) RSP(BYE,200) NO SDP # << # uac >> END # << ok 40 - [uac] END ok 41 - [uas] END # nathelper >> OK # << ok 42 - [nathelper] OK # proxy >> OK # << ok 43 - [proxy] OK # uas >> OK # << ok 44 - [uas] OK # proxy >> ready # << ok 45 - [proxy] ready # uas >> ready # << ok 46 - [uas] ready # uac >> OK # << ok 47 - [uac] OK # uac >> ready # << ok 48 - [uac] ready # uac >> O> 127.0.0.1:58062 REQ(INVITE) SDP: audio=127.0.0.1:7090/2 # << ok 49 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5a4800) REQ(INVITE) SDP: audio=127.0.0.1:7090/2 # << ok 50 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:55594 REQ(INVITE) SDP: audio=127.0.0.1:6082/2 # << ok 51 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5a7bd0) REQ(INVITE) SDP: audio=127.0.0.1:6082/2 # << ok 52 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 53 - outgoing on UAC must be the same as incoming on proxy ok 54 - outgoing on proxy must be the same as incoming on UAS ok 55 - allocated addr:port must be different (127.0.0.1:7090|127.0.0.1:6082) ok 56 - ranges must stay the same # uas >> O> 127.0.0.1:41013 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 57 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP 127.0.0.1:41013;branch=z9hG4bK86269a9f03222160b621c3ea9db2c27e70dc99ff3c740965e2f5b527984a97 # Record-route: # Via: SIP/2.0/UDP 127.0.0.1:58062;branch=z9hG4bK939a70fbaca8446c68325c80e9dba25470dc99ff3c740962dcd79bb8426f10 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP 127.0.0.1:53439;branch=z9hG4bKb750ab8bc53b4b913620fd065a22a16d70dc99ff3c740965ef0b4a2befc02d # Call-id: 55c813c638a1007bf883b0054592f2c3 # Cseq: 1 INVITE # From: me.uac@example.com;tag=16d9e4e9aae39e18c3b920221d8c89f5 # Content-type: application/sdp # Content-length: 175 # Max-forwards: 69 # Contact: sip:bWLOLYU352M25BSTDZQDX7WSNUJFVQPZIT6BER25IACCOD4UMHXVKXQY@127.0.0.1:41013 # To: you.uas@example.com;tag=1c69fc851a60d55ea6d83a5912f67e2e # # v=0 # o=anonymous 1541795096 1541795096 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 6082 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 58 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:41013\;) ok 59 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:53439\;) # uac >> I< HASH(0x556add59c5a0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5b44a0) RSP(INVITE,200) SDP: audio=127.0.0.1:8282/2 # << # uac >> O> 127.0.0.1:58062 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 60 - [uac] RTP done # uas >> O> 127.0.0.1:41013 RSP(INVITE,200) SDP: audio=127.0.0.1:2916/2 # I< HASH(0x556add5b99b8) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5b9e20) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:41013 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 61 - [uas] RTP ok # uac >> O> 127.0.0.1:58062 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5b4608) RSP(BYE,200) NO SDP # << # uac >> END # << ok 62 - [uac] END ok 63 - [uas] END # ------- test with family ip6 transport udp # UAS on [::1]:35378 # UAC on [::1]:37683 # PROXY on [::1]:52967 [::1]:54833 # proxy >> OK # << ok 64 - [proxy] OK # uas >> OK # << ok 65 - [uas] OK # proxy >> ready # << ok 66 - [proxy] ready # uas >> ready # << ok 67 - [uas] ready # uac >> OK # << ok 68 - [uac] OK # uac >> ready # << ok 69 - [uac] ready # uac >> O> [::1]:52967 REQ(INVITE) SDP: audio=[::1]:10924/2 # << ok 70 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5a6900) REQ(INVITE) SDP: audio=[::1]:10924/2 # << ok 71 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:35378 REQ(INVITE) SDP: audio=[::1]:10924/2 # << ok 72 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5aac90) REQ(INVITE) SDP: audio=[::1]:10924/2 # << ok 73 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 74 - outgoing on UAC must be the same as incoming on proxy ok 75 - outgoing on proxy must be the same as incoming on UAS ok 76 - SDP must pass unchanged to UAS # uas >> O> [::1]:54833 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 77 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP [::1]:54833;branch=z9hG4bK44ff328edc815a13f31ab21b16339f062bb1fb045982b2364b4c15cfc8b02a # Record-route: # Via: SIP/2.0/UDP [::1]:52967;branch=z9hG4bKed12fac3a4ce37418e89098d33547a692bb1fb045982b2384e6ad4801f6de9 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP [::1]:37683;branch=z9hG4bKaedfef98d8331560485d1405a0eeda032bb1fb045982b2331c7f224c26c5ec # Call-id: dc90a378d7864c4f48f68f23411c9a12 # Cseq: 1 INVITE # From: me.uac@example.com;tag=74dee4b6ea55a376d98448fcdb64e05d # Content-type: application/sdp # Content-length: 164 # Max-forwards: 69 # Contact: sip:bOYMXK2EIGKCHTKSIE3ERSJR3K4JNUUT4NU4B7VMRG53IOUT4@[::1]:54833 # To: you.uas@example.com;tag=0fc9e96d66d545be0cafd7255a3b6830 # # v=0 # o=anonymous 1541795098 1541795098 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 10924 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 78 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:54833\;) ok 79 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:37683\;) # uac >> I< HASH(0x556add5a05c8) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5b82a8) RSP(INVITE,200) SDP: audio=[::1]:3758/2 # << # uac >> O> [::1]:52967 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 80 - [uac] RTP done # uas >> O> [::1]:54833 RSP(INVITE,200) SDP: audio=[::1]:3758/2 # I< HASH(0x556add5b9528) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5b54e8) REQ(BYE) NO SDP # << # uas >> O> [::1]:54833 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 81 - [uas] RTP ok # uac >> O> [::1]:52967 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5b8260) RSP(BYE,200) NO SDP # << # uac >> END # << ok 82 - [uac] END ok 83 - [uas] END # proxy >> OK # << ok 84 - [proxy] OK # uas >> OK # << ok 85 - [uas] OK # proxy >> ready # << ok 86 - [proxy] ready # uas >> ready # << ok 87 - [uas] ready # uac >> OK # << ok 88 - [uac] OK # uac >> ready # << ok 89 - [uac] ready # uac >> O> [::1]:52967 REQ(INVITE) SDP: audio=[::1]:4062/2 # << ok 90 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5aa600) REQ(INVITE) SDP: audio=[::1]:4062/2 # << ok 91 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:35378 REQ(INVITE) SDP: audio=[::1]:2246/2 # << ok 92 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5abc30) REQ(INVITE) SDP: audio=[::1]:2246/2 # << ok 93 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 94 - outgoing on UAC must be the same as incoming on proxy ok 95 - outgoing on proxy must be the same as incoming on UAS ok 96 - allocated addr:port must be different ([::1]:4062|[::1]:2246) ok 97 - ranges must stay the same # uas >> O> [::1]:54833 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 98 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP [::1]:54833;branch=z9hG4bK44ff328edc815a13f31ab21b16339f0623d46480c44e31298e3bb405701082 # Record-route: # Via: SIP/2.0/UDP [::1]:52967;branch=z9hG4bKed12fac3a4ce37418e89098d33547a6923d46480c44e312c02da4a6c1c5012 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP [::1]:37683;branch=z9hG4bKaedfef98d8331560485d1405a0eeda0323d46480c44e312472ae287699cec1 # Call-id: ad1362d4c7a92bcbe217045be5de4c86 # Cseq: 1 INVITE # From: me.uac@example.com;tag=3a8ffc70a447aba34534b6ce662e16f5 # Content-type: application/sdp # Content-length: 163 # Max-forwards: 69 # Contact: sip:bSOL6TVUVH6JEX7WMAXDVZ27V4O2ZQHD32LH4ZCGPPGSJIRMQ@[::1]:54833 # To: you.uas@example.com;tag=da0f354c72bc76db20921eb9781a8bd7 # # v=0 # o=anonymous 1541795100 1541795100 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 2246 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 99 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:54833\;) ok 100 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:37683\;) # uac >> I< HASH(0x556add5a4b50) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5bc390) RSP(INVITE,200) SDP: audio=[::1]:8220/2 # << # uac >> O> [::1]:52967 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 101 - [uac] RTP done # uas >> O> [::1]:54833 RSP(INVITE,200) SDP: audio=[::1]:2856/2 # I< HASH(0x556add5bcd00) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5b5208) REQ(BYE) NO SDP # << # uas >> O> [::1]:54833 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 102 - [uas] RTP ok # uac >> O> [::1]:52967 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5bc4f8) RSP(BYE,200) NO SDP # << # uac >> END # << ok 103 - [uac] END ok 104 - [uas] END # nathelper >> OK # << ok 105 - [nathelper] OK # proxy >> OK # << ok 106 - [proxy] OK # uas >> OK # << ok 107 - [uas] OK # proxy >> ready # << ok 108 - [proxy] ready # uas >> ready # << ok 109 - [uas] ready # uac >> OK # << ok 110 - [uac] OK # uac >> ready # << ok 111 - [uac] ready # uac >> O> [::1]:52967 REQ(INVITE) SDP: audio=[::1]:7768/2 # << ok 112 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5b0a38) REQ(INVITE) SDP: audio=[::1]:7768/2 # << ok 113 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:35378 REQ(INVITE) SDP: audio=[::1]:7428/2 # << ok 114 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5b1360) REQ(INVITE) SDP: audio=[::1]:7428/2 # << ok 115 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 116 - outgoing on UAC must be the same as incoming on proxy ok 117 - outgoing on proxy must be the same as incoming on UAS ok 118 - allocated addr:port must be different ([::1]:7768|[::1]:7428) ok 119 - ranges must stay the same # uas >> O> [::1]:54833 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 120 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP [::1]:54833;branch=z9hG4bK44ff328edc815a13f31ab21b16339f069b616ea22add670385ee684f50939b # Record-route: # Via: SIP/2.0/UDP [::1]:52967;branch=z9hG4bKed12fac3a4ce37418e89098d33547a699b616ea22add670e51419c1cf5f1d4 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP [::1]:37683;branch=z9hG4bKaedfef98d8331560485d1405a0eeda039b616ea22add670766376da47db38f # Call-id: 39f5853c2d683e5a4e28e5c93f1f2092 # Cseq: 1 INVITE # From: me.uac@example.com;tag=319942dc1459682146497affc8ec5787 # Content-type: application/sdp # Content-length: 163 # Max-forwards: 69 # Contact: sip:bT6PDOTJ4RURC647U755XXTXKA4L5XVE44ORDMTVLMSFUKMQL@[::1]:54833 # To: you.uas@example.com;tag=5ce5135f1e8a799e642a701f8ab7f4ee # # v=0 # o=anonymous 1541795102 1541795102 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 7428 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 121 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:54833\;) ok 122 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:37683\;) # uac >> I< HASH(0x556add5a9480) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5b0a00) RSP(INVITE,200) SDP: audio=[::1]:3874/2 # << # uac >> O> [::1]:52967 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 123 - [uac] RTP done # uas >> O> [::1]:54833 RSP(INVITE,200) SDP: audio=[::1]:3024/2 # I< HASH(0x556add5c2250) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5b9250) REQ(BYE) NO SDP # << # uas >> O> [::1]:54833 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 124 - [uas] RTP ok # uac >> O> [::1]:52967 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5b0b68) RSP(BYE,200) NO SDP # << # uac >> END # << ok 125 - [uac] END ok 126 - [uas] END # ------- test with family ip4 transport tcp # UAS on 127.0.0.1:55737 # UAC on 127.0.0.1:37419 # PROXY on 127.0.0.1:45677 127.0.0.1:36251 # proxy >> OK # << ok 127 - [proxy] OK # uas >> OK # << ok 128 - [uas] OK # proxy >> ready # << ok 129 - [proxy] ready # uas >> ready # << ok 130 - [uas] ready # uac >> OK # << ok 131 - [uac] OK # uac >> ready # << ok 132 - [uac] ready # uac >> O> 127.0.0.1:45677 REQ(INVITE) SDP: audio=127.0.0.1:11350/2 # << ok 133 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5b32a0) REQ(INVITE) SDP: audio=127.0.0.1:11350/2 # << ok 134 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:55737 REQ(INVITE) SDP: audio=127.0.0.1:11350/2 # << ok 135 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5b8070) REQ(INVITE) SDP: audio=127.0.0.1:11350/2 # << ok 136 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 137 - outgoing on UAC must be the same as incoming on proxy ok 138 - outgoing on proxy must be the same as incoming on UAS ok 139 - SDP must pass unchanged to UAS # uas >> O> 127.0.0.1:35505 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 140 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP 127.0.0.1:36251;branch=z9hG4bK8832c3883fce12b6197b2756122ad5196959147746bb540eb2d702f85cf314 # Record-route: # Via: SIP/2.0/TCP 127.0.0.1:45677;branch=z9hG4bK95da813f81b8f498c50447268ef7e1cf6959147746bb5405786c22e68484a3 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP 127.0.0.1:37419;branch=z9hG4bK09e40940a66549eec43917adcdcdcc626959147746bb540f07b9ec8f2e506f # Call-id: 7042526d94b5f61a57f3b6779a65687d # Cseq: 1 INVITE # From: me.uac@example.com;tag=a9d2af252fc01e176efcaf00bac277dd # Content-type: application/sdp # Content-length: 176 # Max-forwards: 69 # Contact: sip:bNNE6VO3FJEI53HTVUKER2J7Z6KWUOVYC55UVHT53EVN3LR5SKWHTB5Q@127.0.0.1:36251 # To: you.uas@example.com;tag=0c4822491f22bcb41124134aec27bbb2 # # v=0 # o=anonymous 1541795104 1541795104 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 11350 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 141 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:36251\;) ok 142 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:37419\;) # uac >> I< HASH(0x556add5ad6f0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5c6680) RSP(INVITE,200) SDP: audio=127.0.0.1:5066/2 # << # uac >> O> 127.0.0.1:45677 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 143 - [uac] RTP done # uas >> O> 127.0.0.1:35505 RSP(INVITE,200) SDP: audio=127.0.0.1:5066/2 # I< HASH(0x556add5c6070) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5cdac8) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:35505 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 144 - [uas] RTP ok # uac >> O> 127.0.0.1:45677 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5c5fc0) RSP(BYE,200) NO SDP # << # uac >> END # << ok 145 - [uac] END ok 146 - [uas] END # proxy >> OK # << ok 147 - [proxy] OK # uas >> OK # << ok 148 - [uas] OK # proxy >> ready # << ok 149 - [proxy] ready # uas >> ready # << ok 150 - [uas] ready # uac >> OK # << ok 151 - [uac] OK # uac >> ready # << ok 152 - [uac] ready # uac >> O> 127.0.0.1:45677 REQ(INVITE) SDP: audio=127.0.0.1:10004/2 # << ok 153 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5b8000) REQ(INVITE) SDP: audio=127.0.0.1:10004/2 # << ok 154 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:55737 REQ(INVITE) SDP: audio=127.0.0.1:10366/2 # << ok 155 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5b9280) REQ(INVITE) SDP: audio=127.0.0.1:10366/2 # << ok 156 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 157 - outgoing on UAC must be the same as incoming on proxy ok 158 - outgoing on proxy must be the same as incoming on UAS ok 159 - allocated addr:port must be different (127.0.0.1:10004|127.0.0.1:10366) ok 160 - ranges must stay the same # uas >> O> 127.0.0.1:37585 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 161 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP 127.0.0.1:36251;branch=z9hG4bK8832c3883fce12b6197b2756122ad519100bd4e2586ce80c19763f2371310c # Record-route: # Via: SIP/2.0/TCP 127.0.0.1:45677;branch=z9hG4bK95da813f81b8f498c50447268ef7e1cf100bd4e2586ce806dbbfbd04222b28 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP 127.0.0.1:37419;branch=z9hG4bK09e40940a66549eec43917adcdcdcc62100bd4e2586ce80a6ec24e0c1a6822 # Call-id: 828f05f7fc8e3d4eb3e81f272eba65dd # Cseq: 1 INVITE # From: me.uac@example.com;tag=1ae15ddc373bef0394151c0e30e111bf # Content-type: application/sdp # Content-length: 176 # Max-forwards: 69 # Contact: sip:bGO6O24GPOI7ZSUIKCCGFAJA7DPOZGJJLJKNXFAZXP3352QJXJ3A5PEA@127.0.0.1:36251 # To: you.uas@example.com;tag=2817f70188ab0906325dc510aff722ec # # v=0 # o=anonymous 1541795106 1541795106 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 10366 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 162 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:36251\;) ok 163 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:37419\;) # uac >> I< HASH(0x556add5b4e38) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5c92a8) RSP(INVITE,200) SDP: audio=127.0.0.1:2628/2 # << # uac >> O> 127.0.0.1:45677 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 164 - [uac] RTP done # uas >> O> 127.0.0.1:37585 RSP(INVITE,200) SDP: audio=127.0.0.1:8486/2 # I< HASH(0x556add5c9c88) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5d0af0) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:37585 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 165 - [uas] RTP ok # uac >> O> 127.0.0.1:45677 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5b4e80) RSP(BYE,200) NO SDP # << # uac >> END # << ok 166 - [uac] END ok 167 - [uas] END # nathelper >> OK # << ok 168 - [nathelper] OK # proxy >> OK # << ok 169 - [proxy] OK # uas >> OK # << ok 170 - [uas] OK # proxy >> ready # << ok 171 - [proxy] ready # uas >> ready # << ok 172 - [uas] ready # uac >> OK # << ok 173 - [uac] OK # uac >> ready # << ok 174 - [uac] ready # uac >> O> 127.0.0.1:45677 REQ(INVITE) SDP: audio=127.0.0.1:5522/2 # << ok 175 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5bbbb0) REQ(INVITE) SDP: audio=127.0.0.1:5522/2 # << ok 176 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:55737 REQ(INVITE) SDP: audio=127.0.0.1:7786/2 # << ok 177 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5bc380) REQ(INVITE) SDP: audio=127.0.0.1:7786/2 # << ok 178 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 179 - outgoing on UAC must be the same as incoming on proxy ok 180 - outgoing on proxy must be the same as incoming on UAS ok 181 - allocated addr:port must be different (127.0.0.1:5522|127.0.0.1:7786) ok 182 - ranges must stay the same # uas >> O> 127.0.0.1:33755 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 183 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP 127.0.0.1:36251;branch=z9hG4bK8832c3883fce12b6197b2756122ad51911f10856bcad39a29cb4fbb17b37d2 # Record-route: # Via: SIP/2.0/TCP 127.0.0.1:45677;branch=z9hG4bK95da813f81b8f498c50447268ef7e1cf11f10856bcad39a7c023cdb4f177ae # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP 127.0.0.1:37419;branch=z9hG4bK09e40940a66549eec43917adcdcdcc6211f10856bcad39aecf5eef6f0852a8 # Call-id: 1af9c7d2245a8c0b86985d533bce981a # Cseq: 1 INVITE # From: me.uac@example.com;tag=0fbddbfcb196d985a1a67a9db1a05c54 # Content-type: application/sdp # Content-length: 175 # Max-forwards: 69 # Contact: sip:bOWYAANM3QOO7577FLQDTOQ7V4TZ3TP6S7HHT76LZ6JOUUKA2VWH5E3I@127.0.0.1:36251 # To: you.uas@example.com;tag=8f5e4cd3cccf00df361dba6f946b3f25 # # v=0 # o=anonymous 1541795108 1541795108 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 7786 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 184 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:36251\;) ok 185 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:37419\;) # uac >> I< HASH(0x556add5b6c98) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5cdc38) RSP(INVITE,200) SDP: audio=127.0.0.1:11522/2 # << # uac >> O> 127.0.0.1:45677 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 186 - [uac] RTP done # uas >> O> 127.0.0.1:33755 RSP(INVITE,200) SDP: audio=127.0.0.1:7352/2 # I< HASH(0x556add5cdc48) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5d58b0) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:33755 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 187 - [uas] RTP ok # uac >> O> 127.0.0.1:45677 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5cd8c0) RSP(BYE,200) NO SDP # << # uac >> END # << ok 188 - [uac] END ok 189 - [uas] END # ------- test with family ip6 transport tcp # UAS on [::1]:56085 # UAC on [::1]:53039 # PROXY on [::1]:60557 [::1]:55175 # proxy >> OK # << ok 190 - [proxy] OK # uas >> OK # << ok 191 - [uas] OK # proxy >> ready # << ok 192 - [proxy] ready # uas >> ready # << ok 193 - [uas] ready # uac >> OK # << ok 194 - [uac] OK # uac >> ready # << ok 195 - [uac] ready # uac >> O> [::1]:60557 REQ(INVITE) SDP: audio=[::1]:11032/2 # << ok 196 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5bdb70) REQ(INVITE) SDP: audio=[::1]:11032/2 # << ok 197 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:56085 REQ(INVITE) SDP: audio=[::1]:11032/2 # << ok 198 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5c0308) REQ(INVITE) SDP: audio=[::1]:11032/2 # << ok 199 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 200 - outgoing on UAC must be the same as incoming on proxy ok 201 - outgoing on proxy must be the same as incoming on UAS ok 202 - SDP must pass unchanged to UAS # uas >> O> [::1]:40547 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 203 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP [::1]:55175;branch=z9hG4bK592c1be69c419155edafcd0230aa61e034884dc51e4a03b4bc4b124b607bb4 # Record-route: # Via: SIP/2.0/TCP [::1]:60557;branch=z9hG4bKdebd558d274c656989528263d84df2b634884dc51e4a03b706ca59310f3cf3 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP [::1]:53039;branch=z9hG4bKc8c7dc524901e692bf4bd758828144dd34884dc51e4a03bf5854c325b55cc7 # Call-id: 109c06ae94acdfaacf1e750f22db8c6a # Cseq: 1 INVITE # From: me.uac@example.com;tag=2bf2f173b0bf56fe6179679e728b7d1a # Content-type: application/sdp # Content-length: 164 # Max-forwards: 69 # Contact: sip:bCNRM7RYG36K3AU2Q7YS3OHSMGJK23ZJDSGVMODNUIUWTTRBM@[::1]:55175 # To: you.uas@example.com;tag=00ead056e35fbd9e1839cadcf05b7aee # # v=0 # o=anonymous 1541795110 1541795110 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 11032 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 204 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:55175\;) ok 205 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:53039\;) # uac >> I< HASH(0x556add5bbb98) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5d0848) RSP(INVITE,200) SDP: audio=[::1]:3128/2 # << # uac >> O> [::1]:60557 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 206 - [uac] RTP done # uas >> O> [::1]:40547 RSP(INVITE,200) SDP: audio=[::1]:3128/2 # I< HASH(0x556add5d18e8) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5d83e0) REQ(BYE) NO SDP # << # uas >> O> [::1]:40547 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 207 - [uas] RTP ok # uac >> O> [::1]:60557 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5af0c8) RSP(BYE,200) NO SDP # << # uac >> END # << ok 208 - [uac] END ok 209 - [uas] END # proxy >> OK # << ok 210 - [proxy] OK # uas >> OK # << ok 211 - [uas] OK # proxy >> ready # << ok 212 - [proxy] ready # uas >> ready # << ok 213 - [uas] ready # uac >> OK # << ok 214 - [uac] OK # uac >> ready # << ok 215 - [uac] ready # uac >> O> [::1]:60557 REQ(INVITE) SDP: audio=[::1]:4808/2 # << ok 216 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5c2b10) REQ(INVITE) SDP: audio=[::1]:4808/2 # << ok 217 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:56085 REQ(INVITE) SDP: audio=[::1]:7562/2 # << ok 218 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5c4dd0) REQ(INVITE) SDP: audio=[::1]:7562/2 # << ok 219 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 220 - outgoing on UAC must be the same as incoming on proxy ok 221 - outgoing on proxy must be the same as incoming on UAS ok 222 - allocated addr:port must be different ([::1]:4808|[::1]:7562) ok 223 - ranges must stay the same # uas >> O> [::1]:41249 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 224 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP [::1]:55175;branch=z9hG4bK592c1be69c419155edafcd0230aa61e077773873bd03105af5fb478911eb1a # Record-route: # Via: SIP/2.0/TCP [::1]:60557;branch=z9hG4bKdebd558d274c656989528263d84df2b677773873bd03105294d81c618db8bf # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP [::1]:53039;branch=z9hG4bKc8c7dc524901e692bf4bd758828144dd77773873bd03105bce2667e9f345c1 # Call-id: cf9cc4d39808a969f58bd3f8ea24c1fb # Cseq: 1 INVITE # From: me.uac@example.com;tag=5b86ac76e08c313b22abc068cfc08449 # Content-type: application/sdp # Content-length: 163 # Max-forwards: 69 # Contact: sip:bELSA4CD3ES5P7BMWQ7UENVAJI2N2E2VVSZTZPYXTX5ZVCHRQ@[::1]:55175 # To: you.uas@example.com;tag=27a070611939202057bbed6789e03a2d # # v=0 # o=anonymous 1541795112 1541795112 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 7562 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 225 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:55175\;) ok 226 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:53039\;) # uac >> I< HASH(0x556add5bfd80) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5d6a90) RSP(INVITE,200) SDP: audio=[::1]:7680/2 # << # uac >> O> [::1]:60557 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 227 - [uac] RTP done # uas >> O> [::1]:41249 RSP(INVITE,200) SDP: audio=[::1]:11246/2 # I< HASH(0x556add5d3098) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5dbdb8) REQ(BYE) NO SDP # << # uas >> O> [::1]:41249 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 228 - [uas] RTP ok # uac >> O> [::1]:60557 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5c05f0) RSP(BYE,200) NO SDP # << # uac >> END # << ok 229 - [uac] END ok 230 - [uas] END # nathelper >> OK # << ok 231 - [nathelper] OK # proxy >> OK # << ok 232 - [proxy] OK # uas >> OK # << ok 233 - [uas] OK # proxy >> ready # << ok 234 - [proxy] ready # uas >> ready # << ok 235 - [uas] ready # uac >> OK # << ok 236 - [uac] OK # uac >> ready # << ok 237 - [uac] ready # uac >> O> [::1]:60557 REQ(INVITE) SDP: audio=[::1]:6090/2 # << ok 238 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add5c7730) REQ(INVITE) SDP: audio=[::1]:6090/2 # << ok 239 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:56085 REQ(INVITE) SDP: audio=[::1]:7362/2 # << ok 240 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add5c8d00) REQ(INVITE) SDP: audio=[::1]:7362/2 # << ok 241 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 242 - outgoing on UAC must be the same as incoming on proxy ok 243 - outgoing on proxy must be the same as incoming on UAS ok 244 - allocated addr:port must be different ([::1]:6090|[::1]:7362) ok 245 - ranges must stay the same # uas >> O> [::1]:37387 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 246 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP [::1]:55175;branch=z9hG4bK592c1be69c419155edafcd0230aa61e0661e140fc8a5f75e1609adcdc87277 # Record-route: # Via: SIP/2.0/TCP [::1]:60557;branch=z9hG4bKdebd558d274c656989528263d84df2b6661e140fc8a5f75253189411a2b468 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP [::1]:53039;branch=z9hG4bKc8c7dc524901e692bf4bd758828144dd661e140fc8a5f75e6137101ad2ac28 # Call-id: 90d5ed7dc187fcd5059961f906fb75e6 # Cseq: 1 INVITE # From: me.uac@example.com;tag=e21b8e04ab6a9800f554dc2fb2673b80 # Content-type: application/sdp # Content-length: 163 # Max-forwards: 69 # Contact: sip:bMJLZ66IWXXUTIDD3MKG6WBUZSTCDCBSZKIDFIHVQ4KCYRMQ6@[::1]:55175 # To: you.uas@example.com;tag=503732b1b0c9a08a051d3315a78688d2 # # v=0 # o=anonymous 1541795114 1541795114 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 7362 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 247 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:55175\;) ok 248 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:53039\;) # uac >> I< HASH(0x556add5c2de0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add5d9ac0) RSP(INVITE,200) SDP: audio=[::1]:4886/2 # << # uac >> O> [::1]:60557 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 249 - [uac] RTP done # uas >> O> [::1]:37387 RSP(INVITE,200) SDP: audio=[::1]:6522/2 # I< HASH(0x556add5d6dd8) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add5deaf8) REQ(BYE) NO SDP # << # uas >> O> [::1]:37387 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 250 - [uas] RTP ok # uac >> O> [::1]:60557 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add5d9850) RSP(BYE,200) NO SDP # << # uac >> END # << ok 251 - [uac] END ok 252 - [uas] END # ------- test with family ip4 transport tls # UAS on 127.0.0.1:53319 # UAC on 127.0.0.1:47941 # PROXY on 127.0.0.1:39961 127.0.0.1:40117 # proxy >> OK # << ok 253 - [proxy] OK # uas >> OK # << ok 254 - [uas] OK # proxy >> ready # << ok 255 - [proxy] ready # uas >> ready # << ok 256 - [uas] ready # uac >> OK # << ok 257 - [uac] OK # uac >> ready # << ok 258 - [uac] ready # uac >> O> 127.0.0.1:39961 REQ(INVITE) SDP: audio=127.0.0.1:9520/2 # << ok 259 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add8db990) REQ(INVITE) SDP: audio=127.0.0.1:9520/2 # << ok 260 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:53319 REQ(INVITE) SDP: audio=127.0.0.1:9520/2 # << ok 261 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add8d0d20) REQ(INVITE) SDP: audio=127.0.0.1:9520/2 # << ok 262 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 263 - outgoing on UAC must be the same as incoming on proxy ok 264 - outgoing on proxy must be the same as incoming on UAS ok 265 - SDP must pass unchanged to UAS # uas >> O> 127.0.0.1:34589 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 266 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS 127.0.0.1:40117;branch=z9hG4bKe5940ac9cb4bc5b83b5537710c014ac16c5634ea5349ac4097dcc692243e0e # Record-route: # Via: SIP/2.0/TLS 127.0.0.1:39961;branch=z9hG4bK33d5791def66c1e5ee5f65fd8163d1006c5634ea5349ac49aa50b9c1bd5106 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS 127.0.0.1:47941;branch=z9hG4bK7f336fb25961629c5cadcdfe4534509e6c5634ea5349ac4d9413b3d58cf2ba # Call-id: 0e992d0275bf779e49e55daf53aeec3d # Cseq: 1 INVITE # From: me.uac@example.com;tag=63f2bb451fcef1ef09ab36d4a8782d34 # Content-type: application/sdp # Content-length: 175 # Max-forwards: 69 # Contact: sips:bYPJIH5GSI5PC36LOJRKJQDIKKR6LKD5DQUOSDHZDSIYB4KZCY4A2UJA@127.0.0.1:40117 # To: you.uas@example.com;tag=4bd00424564d8674c1bd32b857c3a8fc # # v=0 # o=anonymous 1541795117 1541795117 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 9520 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 267 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:40117\;) ok 268 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:47941\;) # uac >> I< HASH(0x556add8e0a70) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add8e1658) RSP(INVITE,200) SDP: audio=127.0.0.1:2036/2 # << # uac >> O> 127.0.0.1:39961 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 269 - [uac] RTP done # uas >> O> 127.0.0.1:34589 RSP(INVITE,200) SDP: audio=127.0.0.1:2036/2 # I< HASH(0x556add8ecd10) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add8f01d8) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:34589 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # << # uas >> RTP ok # << ok 270 - [uas] RTP ok # uac >> O> 127.0.0.1:39961 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add8e0fe0) RSP(BYE,200) NO SDP # << # uac >> END # << ok 271 - [uac] END # uas >> END # << ok 272 - [uas] END # proxy >> OK # << ok 273 - [proxy] OK # uas >> OK # << ok 274 - [uas] OK # proxy >> ready # << ok 275 - [proxy] ready # uas >> ready # << ok 276 - [uas] ready # uac >> OK # << ok 277 - [uac] OK # uac >> ready # << ok 278 - [uac] ready # uac >> O> 127.0.0.1:39961 REQ(INVITE) SDP: audio=127.0.0.1:9520/2 # << ok 279 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add8e33e0) REQ(INVITE) SDP: audio=127.0.0.1:9520/2 # << ok 280 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:53319 REQ(INVITE) SDP: audio=127.0.0.1:6476/2 # << ok 281 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add8d5e38) REQ(INVITE) SDP: audio=127.0.0.1:6476/2 # << ok 282 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 283 - outgoing on UAC must be the same as incoming on proxy ok 284 - outgoing on proxy must be the same as incoming on UAS ok 285 - allocated addr:port must be different (127.0.0.1:9520|127.0.0.1:6476) ok 286 - ranges must stay the same # uas >> O> 127.0.0.1:36477 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 287 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS 127.0.0.1:40117;branch=z9hG4bKe5940ac9cb4bc5b83b5537710c014ac1ee53ee24d3ef78f3992d0797b22dbe # Record-route: # Via: SIP/2.0/TLS 127.0.0.1:39961;branch=z9hG4bK33d5791def66c1e5ee5f65fd8163d100ee53ee24d3ef78f7b31a827390e466 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS 127.0.0.1:47941;branch=z9hG4bK7f336fb25961629c5cadcdfe4534509eee53ee24d3ef78fd98e7f73108966f # Call-id: ca370065c06464b0c075caee1f052788 # Cseq: 1 INVITE # From: me.uac@example.com;tag=e1faa304b4320b3de1936d9979fb34a5 # Content-type: application/sdp # Content-length: 175 # Max-forwards: 69 # Contact: sips:bYPJIH5GSI5PC36LOJRKJQDIKKR6LKD5DQUOSDHZDSIYB4KZCY4A2UJA@127.0.0.1:40117 # To: you.uas@example.com;tag=174a437cb1d8f85dd0791d696f219a0c # # v=0 # o=anonymous 1541795119 1541795119 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 6476 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 288 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:40117\;) ok 289 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:47941\;) # uac >> I< HASH(0x556add8e4328) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add8e4f40) RSP(INVITE,200) SDP: audio=127.0.0.1:5432/2 # << # uac >> O> 127.0.0.1:39961 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 290 - [uac] RTP done # uas >> O> 127.0.0.1:36477 RSP(INVITE,200) SDP: audio=127.0.0.1:2036/2 # I< HASH(0x556add8f07d8) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add8f4a00) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:36477 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 291 - [uas] RTP ok # uac >> O> 127.0.0.1:39961 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add8e4910) RSP(BYE,200) NO SDP # << # uac >> END # << ok 292 - [uac] END ok 293 - [uas] END # nathelper >> OK # << ok 294 - [nathelper] OK # proxy >> OK # << ok 295 - [proxy] OK # uas >> OK # << ok 296 - [uas] OK # proxy >> ready # << ok 297 - [proxy] ready # uas >> ready # << ok 298 - [uas] ready # uac >> OK # << ok 299 - [uac] OK # uac >> ready # << ok 300 - [uac] ready # uac >> O> 127.0.0.1:39961 REQ(INVITE) SDP: audio=127.0.0.1:9520/2 # << ok 301 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add8d6c40) REQ(INVITE) SDP: audio=127.0.0.1:9520/2 # << ok 302 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:53319 REQ(INVITE) SDP: audio=127.0.0.1:2036/2 # << ok 303 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add8d92e8) REQ(INVITE) SDP: audio=127.0.0.1:2036/2 # << ok 304 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 305 - outgoing on UAC must be the same as incoming on proxy ok 306 - outgoing on proxy must be the same as incoming on UAS ok 307 - allocated addr:port must be different (127.0.0.1:9520|127.0.0.1:2036) ok 308 - ranges must stay the same # uas >> O> 127.0.0.1:33165 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 309 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS 127.0.0.1:40117;branch=z9hG4bKe5940ac9cb4bc5b83b5537710c014ac16881d73bdf76c6b317ef3f95d98fc3 # Record-route: # Via: SIP/2.0/TLS 127.0.0.1:39961;branch=z9hG4bK33d5791def66c1e5ee5f65fd8163d1006881d73bdf76c6b340ef63cec90f23 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS 127.0.0.1:47941;branch=z9hG4bK7f336fb25961629c5cadcdfe4534509e6881d73bdf76c6b6e56fb3b1a43602 # Call-id: 0634b580a53d77d4b6b2802329e8d75a # Cseq: 1 INVITE # From: me.uac@example.com;tag=81b3346e4d27f7004131c4ccd909b5e3 # Content-type: application/sdp # Content-length: 175 # Max-forwards: 69 # Contact: sips:bYPJIH5GSI5PC36LOJRKJQDIKKR6LKD5DQUOSDHZDSIYB4KZCY4A2UJA@127.0.0.1:40117 # To: you.uas@example.com;tag=2d69bc16c89b71adb16107e2c8c24aac # # v=0 # o=anonymous 1541795121 1541795121 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 2036 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 310 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:40117\;) ok 311 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:47941\;) # uac >> I< HASH(0x556add8e9318) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add8e9f00) RSP(INVITE,200) SDP: audio=127.0.0.1:2472/2 # << # uac >> O> 127.0.0.1:39961 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 312 - [uac] RTP done # uas >> O> 127.0.0.1:33165 RSP(INVITE,200) SDP: audio=127.0.0.1:2050/2 # I< HASH(0x556add8f5718) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add8fd390) REQ(BYE) NO SDP # << # uas >> O> 127.0.0.1:33165 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 313 - [uas] RTP ok # uac >> O> 127.0.0.1:39961 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add8e94e0) RSP(BYE,200) NO SDP # << # uac >> END # << ok 314 - [uac] END ok 315 - [uas] END # ------- test with family ip6 transport tls # UAS on [::1]:38811 # UAC on [::1]:47417 # PROXY on [::1]:50533 [::1]:45725 # proxy >> OK # << ok 316 - [proxy] OK # uas >> OK # << ok 317 - [uas] OK # proxy >> ready # << ok 318 - [proxy] ready # uas >> ready # << ok 319 - [uas] ready # uac >> OK # << ok 320 - [uac] OK # uac >> ready # << ok 321 - [uac] ready # uac >> O> [::1]:50533 REQ(INVITE) SDP: audio=[::1]:9520/2 # << ok 322 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add8da070) REQ(INVITE) SDP: audio=[::1]:9520/2 # << ok 323 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:38811 REQ(INVITE) SDP: audio=[::1]:9520/2 # << ok 324 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add8defc0) REQ(INVITE) SDP: audio=[::1]:9520/2 # << ok 325 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 326 - outgoing on UAC must be the same as incoming on proxy ok 327 - outgoing on proxy must be the same as incoming on UAS ok 328 - SDP must pass unchanged to UAS # uas >> O> [::1]:34695 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 329 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS [::1]:45725;branch=z9hG4bKf001786a62aa9c0994cf5e3ca5d60b11f1220902f63db24e43986e32cdd73c # Record-route: # Via: SIP/2.0/TLS [::1]:50533;branch=z9hG4bK3d5eeacac28fa93bfdfa6fec2722bfbbf1220902f63db243fbe64615ccdf15 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS [::1]:47417;branch=z9hG4bK3d075efbbfd57e9d1e5d6e61c312124cf1220902f63db24dcee485c672f28b # Call-id: ed46fd6e5eb1ab318743d4fbb8bc9020 # Cseq: 1 INVITE # From: me.uac@example.com;tag=3f6dde47195f6cfcad4725991cc0307e # Content-type: application/sdp # Content-length: 163 # Max-forwards: 69 # Contact: sips:bYPJIH5GSI5PC36LOJRKJQDIKHZ2LQEGOSEMTRGRISH6OGHPW@[::1]:45725 # To: you.uas@example.com;tag=cf3f4fc58dc6957ad05a59471b2b3b00 # # v=0 # o=anonymous 1541795123 1541795123 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 9520 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 330 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:45725\;) ok 331 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:47417\;) # uac >> I< HASH(0x556add8e6c80) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add8ee170) RSP(INVITE,200) SDP: audio=[::1]:2036/2 # << # uac >> O> [::1]:50533 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 332 - [uac] RTP done # uas >> O> [::1]:34695 RSP(INVITE,200) SDP: audio=[::1]:2036/2 # I< HASH(0x556add8fb8e8) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add902250) REQ(BYE) NO SDP # << # uas >> O> [::1]:34695 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 333 - [uas] RTP ok # uac >> O> [::1]:50533 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add8e60e0) RSP(BYE,200) NO SDP # << # uac >> END # << ok 334 - [uac] END ok 335 - [uas] END # proxy >> OK # << ok 336 - [proxy] OK # uas >> OK # << ok 337 - [uas] OK # proxy >> ready # << ok 338 - [proxy] ready # uas >> ready # << ok 339 - [uas] ready # uac >> OK # << ok 340 - [uac] OK # uac >> ready # << ok 341 - [uac] ready # uac >> O> [::1]:50533 REQ(INVITE) SDP: audio=[::1]:9520/2 # << ok 342 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add8df9f0) REQ(INVITE) SDP: audio=[::1]:9520/2 # << ok 343 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:38811 REQ(INVITE) SDP: audio=[::1]:6476/2 # << ok 344 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add8e1620) REQ(INVITE) SDP: audio=[::1]:6476/2 # << ok 345 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 346 - outgoing on UAC must be the same as incoming on proxy ok 347 - outgoing on proxy must be the same as incoming on UAS ok 348 - allocated addr:port must be different ([::1]:9520|[::1]:6476) ok 349 - ranges must stay the same # uas >> O> [::1]:34583 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 350 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS [::1]:45725;branch=z9hG4bKf001786a62aa9c0994cf5e3ca5d60b1145b53f8bd9c37e5a11d4bcd43a031b # Record-route: # Via: SIP/2.0/TLS [::1]:50533;branch=z9hG4bK3d5eeacac28fa93bfdfa6fec2722bfbb45b53f8bd9c37e50daff36bf54f9e0 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS [::1]:47417;branch=z9hG4bK3d075efbbfd57e9d1e5d6e61c312124c45b53f8bd9c37e5a5e05f2152797a3 # Call-id: 4c680c1fc6016215944f6125b7d74f74 # Cseq: 1 INVITE # From: me.uac@example.com;tag=c9ef308289db895e9fa59cac28b12b9d # Content-type: application/sdp # Content-length: 163 # Max-forwards: 69 # Contact: sips:bYPJIH5GSI5PC36LOJRKJQDIKHZ2LQEGOSEMTRGRISH6OGHPW@[::1]:45725 # To: you.uas@example.com;tag=1c09453ca48103897871cf3507793b2f # # v=0 # o=anonymous 1541795125 1541795125 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 6476 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 351 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:45725\;) ok 352 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:47417\;) # uac >> I< HASH(0x556add8eb868) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add8f28a8) RSP(INVITE,200) SDP: audio=[::1]:5432/2 # << # uac >> O> [::1]:50533 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 353 - [uac] RTP done # uas >> O> [::1]:34583 RSP(INVITE,200) SDP: audio=[::1]:2036/2 # I< HASH(0x556add8fefa0) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add905a88) REQ(BYE) NO SDP # << # uas >> O> [::1]:34583 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 354 - [uas] RTP ok # uac >> O> [::1]:50533 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add8e0fe0) RSP(BYE,200) NO SDP # << # uac >> END # << ok 355 - [uac] END ok 356 - [uas] END # nathelper >> OK # << ok 357 - [nathelper] OK # proxy >> OK # << ok 358 - [proxy] OK # uas >> OK # << ok 359 - [uas] OK # proxy >> ready # << ok 360 - [proxy] ready # uas >> ready # << ok 361 - [uas] ready # uac >> OK # << ok 362 - [uac] OK # uac >> ready # << ok 363 - [uac] ready # uac >> O> [::1]:50533 REQ(INVITE) SDP: audio=[::1]:9520/2 # << ok 364 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x556add8e4940) REQ(INVITE) SDP: audio=[::1]:9520/2 # << ok 365 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:38811 REQ(INVITE) SDP: audio=[::1]:2036/2 # << ok 366 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x556add8e51b0) REQ(INVITE) SDP: audio=[::1]:2036/2 # << ok 367 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 368 - outgoing on UAC must be the same as incoming on proxy ok 369 - outgoing on proxy must be the same as incoming on UAS ok 370 - allocated addr:port must be different ([::1]:9520|[::1]:2036) ok 371 - ranges must stay the same # uas >> O> [::1]:43073 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 372 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS [::1]:45725;branch=z9hG4bKf001786a62aa9c0994cf5e3ca5d60b11a3afcff77ffc46d3d2e088892e8ada # Record-route: # Via: SIP/2.0/TLS [::1]:50533;branch=z9hG4bK3d5eeacac28fa93bfdfa6fec2722bfbba3afcff77ffc46d33902703d99a95b # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS [::1]:47417;branch=z9hG4bK3d075efbbfd57e9d1e5d6e61c312124ca3afcff77ffc46db19afd476149450 # Call-id: 43e60bd4a5cba9c07002e601e62ec511 # Cseq: 1 INVITE # From: me.uac@example.com;tag=42e5fc2141ae9199fddde5d952788929 # Content-type: application/sdp # Content-length: 163 # Max-forwards: 69 # Contact: sips:bYPJIH5GSI5PC36LOJRKJQDIKHZ2LQEGOSEMTRGRISH6OGHPW@[::1]:45725 # To: you.uas@example.com;tag=e40d490d4605c58fc1ff398117469b5d # # v=0 # o=anonymous 1541795127 1541795127 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 2036 RTP/AVP 0 101 # a=rtpmap:101 telephone-event/8000 # a=fmtp:101 0-16 # << ok 373 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:45725\;) ok 374 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:47417\;) # uac >> I< HASH(0x556add8eee48) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x556add8f5e78) RSP(INVITE,200) SDP: audio=[::1]:2472/2 # << # uac >> O> [::1]:50533 REQ(ACK) NO SDP # << # uac >> call established # << # uac >> RTP done # << ok 375 - [uac] RTP done # uas >> O> [::1]:43073 RSP(INVITE,200) SDP: audio=[::1]:2050/2 # I< HASH(0x556add902650) REQ(ACK) NO SDP # call established # << # uas >> I< HASH(0x556add909088) REQ(BYE) NO SDP # << # uas >> O> [::1]:43073 RSP(BYE,200) NO SDP # << # uas >> call cleaned up # << # uas >> received 100/100 packets # RTP ok # END # << ok 376 - [uas] RTP ok # uac >> O> [::1]:50533 REQ(BYE) NO SDP # << # uac >> I< HASH(0x556add8f5890) RSP(BYE,200) NO SDP # << # uac >> END # << ok 377 - [uac] END ok 378 - [uas] END ok t/06_call_with_reinvite.t ............... 1..102 # ------- test with family ip4 transport udp # uas >> OK # << ok 1 - [uas] OK # uas >> Listening # << ok 2 - [uas] Listening # uac >> OK # << ok 3 - [uac] OK # uac >> Started # << ok 4 - [uac] Started # uas >> Call accepted # << ok 5 - [uas] Call accepted # uac >> Start RTP # << ok 6 - [uac] Start RTP # uac >> RTP#50# # << ok 7 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 8 - [uas] got rtp packet\#50 ok 9 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 10 - [uac] Got ReInvite # uas >> Start RTP # << ok 11 - [uas] Start RTP # uas >> RTP#50# # << ok 12 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 13 - [uac] got rtp packet\#50 ok 14 - [uac] Send BYE # uas >> Got RTP # Received BYE # << ok 15 - [uas] Got RTP ok 16 - [uas] Received BYE # uac >> BYE done # << ok 17 - [uac] BYE done # ------- test with family ip6 transport udp # uas >> OK # << ok 18 - [uas] OK # uas >> Listening # << ok 19 - [uas] Listening # uac >> OK # << ok 20 - [uac] OK # uac >> Started # << ok 21 - [uac] Started # uas >> Call accepted # << ok 22 - [uas] Call accepted # uac >> Start RTP # << ok 23 - [uac] Start RTP # uac >> RTP#50# # << ok 24 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 25 - [uas] got rtp packet\#50 ok 26 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 27 - [uac] Got ReInvite # uas >> Start RTP # << ok 28 - [uas] Start RTP # uas >> RTP#50# # << ok 29 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 30 - [uac] got rtp packet\#50 ok 31 - [uac] Send BYE # uas >> Got RTP # Received BYE # << ok 32 - [uas] Got RTP ok 33 - [uas] Received BYE # uac >> BYE done # << ok 34 - [uac] BYE done # ------- test with family ip4 transport tcp # uas >> OK # << ok 35 - [uas] OK # uas >> Listening # << ok 36 - [uas] Listening # uac >> OK # << ok 37 - [uac] OK # uac >> Started # << ok 38 - [uac] Started # uas >> Call accepted # << ok 39 - [uas] Call accepted # uac >> Start RTP # << ok 40 - [uac] Start RTP # uac >> RTP#50# # << ok 41 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 42 - [uas] got rtp packet\#50 ok 43 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 44 - [uac] Got ReInvite # uas >> Start RTP # << ok 45 - [uas] Start RTP # uas >> RTP#50# # << ok 46 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 47 - [uac] got rtp packet\#50 ok 48 - [uac] Send BYE # uas >> Got RTP # Received BYE # << ok 49 - [uas] Got RTP ok 50 - [uas] Received BYE # uac >> BYE done # << ok 51 - [uac] BYE done # ------- test with family ip6 transport tcp # uas >> OK # << ok 52 - [uas] OK # uas >> Listening # << ok 53 - [uas] Listening # uac >> OK # << ok 54 - [uac] OK # uac >> Started # << ok 55 - [uac] Started # uas >> Call accepted # << ok 56 - [uas] Call accepted # uac >> Start RTP # << ok 57 - [uac] Start RTP # uac >> RTP#50# # << ok 58 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 59 - [uas] got rtp packet\#50 ok 60 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 61 - [uac] Got ReInvite # uas >> Start RTP # << ok 62 - [uas] Start RTP # uas >> RTP#50# # << ok 63 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 64 - [uac] got rtp packet\#50 ok 65 - [uac] Send BYE # uas >> Got RTP # Received BYE # << ok 66 - [uas] Got RTP ok 67 - [uas] Received BYE # uac >> BYE done # << ok 68 - [uac] BYE done # ------- test with family ip4 transport tls # uas >> OK # << ok 69 - [uas] OK # uas >> Listening # << ok 70 - [uas] Listening # uac >> OK # << ok 71 - [uac] OK # uac >> Started # << ok 72 - [uac] Started # uas >> Call accepted # << ok 73 - [uas] Call accepted # uac >> Start RTP # << ok 74 - [uac] Start RTP # uac >> RTP#50# # << ok 75 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 76 - [uas] got rtp packet\#50 ok 77 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 78 - [uac] Got ReInvite # uas >> Start RTP # << ok 79 - [uas] Start RTP # uas >> RTP#50# # << ok 80 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 81 - [uac] got rtp packet\#50 ok 82 - [uac] Send BYE # uas >> Got RTP # Received BYE # << ok 83 - [uas] Got RTP ok 84 - [uas] Received BYE # uac >> BYE done # << ok 85 - [uac] BYE done # ------- test with family ip6 transport tls # uas >> OK # << ok 86 - [uas] OK # uas >> Listening # << ok 87 - [uas] Listening # uac >> OK # << ok 88 - [uac] OK # uac >> Started # << ok 89 - [uac] Started # uas >> Call accepted # << ok 90 - [uas] Call accepted # uac >> Start RTP # << ok 91 - [uac] Start RTP # uac >> RTP#50# # << ok 92 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 93 - [uas] got rtp packet\#50 ok 94 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 95 - [uac] Got ReInvite # uas >> Start RTP # << ok 96 - [uas] Start RTP # uas >> RTP#50# # << ok 97 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 98 - [uac] got rtp packet\#50 ok 99 - [uac] Send BYE # uas >> Got RTP # Received BYE # << ok 100 - [uas] Got RTP ok 101 - [uas] Received BYE # uac >> BYE done # << ok 102 - [uac] BYE done ok t/07_call_on_hold.t ..................... 1..96 # ------- test with family ip4 transport udp # uas >> OK # << ok 1 - [uas] OK # uas >> Listening # << ok 2 - [uas] Listening # uac >> OK # << ok 3 - [uac] OK # uac >> Started # << ok 4 - [uac] Started # uas >> Call accepted # << ok 5 - [uas] Call accepted # uac >> Start RTP # << ok 6 - [uac] Start RTP # uac >> RTP#50# # << ok 7 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 8 - [uas] got rtp packet\#50 ok 9 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 10 - [uac] Got ReInvite # uas >> Start RTP # << ok 11 - [uas] Start RTP # uas >> RTP#50# # << ok 12 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 13 - [uac] got rtp packet\#50 ok 14 - [uac] Send BYE # uas >> Received BYE after 0 bytes read # << ok 15 - [uas] Received BYE after 0 bytes read # uac >> BYE done # << ok 16 - [uac] BYE done # ------- test with family ip6 transport udp # uas >> OK # << ok 17 - [uas] OK # uas >> Listening # << ok 18 - [uas] Listening # uac >> OK # << ok 19 - [uac] OK # uac >> Started # << ok 20 - [uac] Started # uas >> Call accepted # << ok 21 - [uas] Call accepted # uac >> Start RTP # << ok 22 - [uac] Start RTP # uac >> RTP#50# # << ok 23 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 24 - [uas] got rtp packet\#50 ok 25 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 26 - [uac] Got ReInvite # uas >> Start RTP # << ok 27 - [uas] Start RTP # uas >> RTP#50# # << ok 28 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 29 - [uac] got rtp packet\#50 ok 30 - [uac] Send BYE # uas >> Received BYE after 0 bytes read # << ok 31 - [uas] Received BYE after 0 bytes read # uac >> BYE done # << ok 32 - [uac] BYE done # ------- test with family ip4 transport tcp # uas >> OK # << ok 33 - [uas] OK # uas >> Listening # << ok 34 - [uas] Listening # uac >> OK # << ok 35 - [uac] OK # uac >> Started # << ok 36 - [uac] Started # uas >> Call accepted # << ok 37 - [uas] Call accepted # uac >> Start RTP # << ok 38 - [uac] Start RTP # uac >> RTP#50# # << ok 39 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 40 - [uas] got rtp packet\#50 ok 41 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 42 - [uac] Got ReInvite # uas >> Start RTP # << ok 43 - [uas] Start RTP # uas >> RTP#50# # << ok 44 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 45 - [uac] got rtp packet\#50 ok 46 - [uac] Send BYE # uas >> Received BYE after 0 bytes read # << ok 47 - [uas] Received BYE after 0 bytes read # uac >> BYE done # << ok 48 - [uac] BYE done # ------- test with family ip6 transport tcp # uas >> OK # << ok 49 - [uas] OK # uas >> Listening # << ok 50 - [uas] Listening # uac >> OK # << ok 51 - [uac] OK # uac >> Started # << ok 52 - [uac] Started # uas >> Call accepted # << ok 53 - [uas] Call accepted # uac >> Start RTP # << ok 54 - [uac] Start RTP # uac >> RTP#50# # << ok 55 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 56 - [uas] got rtp packet\#50 ok 57 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 58 - [uac] Got ReInvite # uas >> Start RTP # << ok 59 - [uas] Start RTP # uas >> RTP#50# # << ok 60 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 61 - [uac] got rtp packet\#50 ok 62 - [uac] Send BYE # uas >> Received BYE after 0 bytes read # << ok 63 - [uas] Received BYE after 0 bytes read # uac >> BYE done # << ok 64 - [uac] BYE done # ------- test with family ip4 transport tls # uas >> OK # << ok 65 - [uas] OK # uas >> Listening # << ok 66 - [uas] Listening # uac >> OK # << ok 67 - [uac] OK # uac >> Started # << ok 68 - [uac] Started # uas >> Call accepted # << ok 69 - [uas] Call accepted # uac >> Start RTP # << ok 70 - [uac] Start RTP # uac >> RTP#50# # << ok 71 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 72 - [uas] got rtp packet\#50 ok 73 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 74 - [uac] Got ReInvite # uas >> Start RTP # << ok 75 - [uas] Start RTP # uas >> RTP#50# # << ok 76 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 77 - [uac] got rtp packet\#50 ok 78 - [uac] Send BYE # uas >> Received BYE after 0 bytes read # << ok 79 - [uas] Received BYE after 0 bytes read # uac >> BYE done # << ok 80 - [uac] BYE done # ------- test with family ip6 transport tls # uas >> OK # << ok 81 - [uas] OK # uas >> Listening # << ok 82 - [uas] Listening # uac >> OK # << ok 83 - [uac] OK # uac >> Started # << ok 84 - [uac] Started # uas >> Call accepted # << ok 85 - [uas] Call accepted # uac >> Start RTP # << ok 86 - [uac] Start RTP # uac >> RTP#50# # << ok 87 - [uac] RTP\#50\# # uas >> got rtp packet#50 # Starting ReInvite # << ok 88 - [uas] got rtp packet\#50 ok 89 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 90 - [uac] Got ReInvite # uas >> Start RTP # << ok 91 - [uas] Start RTP # uas >> RTP#50# # << ok 92 - [uas] RTP\#50\# # uac >> got rtp packet#50 # Send BYE # << ok 93 - [uac] got rtp packet\#50 ok 94 - [uac] Send BYE # uas >> Received BYE after 0 bytes read # << ok 95 - [uas] Received BYE after 0 bytes read # uac >> BYE done # << ok 96 - [uac] BYE done ok t/08_register_with_auth.t ............... 1..42 # ------- test with family ip4 transport udp # registrar >> OK # << ok 1 - [registrar] OK # registrar >> Listening # << ok 2 - [registrar] Listening # uac >> OK # << ok 3 - [uac] OK # uac >> Started # << ok 4 - [uac] Started # uac >> Registered wolf (REALM.example.com) # << ok 5 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 6 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 7 - [uac] Registered noauth () # ------- test with family ip6 transport udp # registrar >> OK # << ok 8 - [registrar] OK # registrar >> Listening # << ok 9 - [registrar] Listening # uac >> OK # << ok 10 - [uac] OK # uac >> Started # << ok 11 - [uac] Started # uac >> Registered wolf (REALM.example.com) # << ok 12 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 13 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 14 - [uac] Registered noauth () # ------- test with family ip4 transport tcp # registrar >> OK # << ok 15 - [registrar] OK # registrar >> Listening # << ok 16 - [registrar] Listening # uac >> OK # << ok 17 - [uac] OK # uac >> Started # << ok 18 - [uac] Started # uac >> Registered wolf (REALM.example.com) # << ok 19 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 20 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 21 - [uac] Registered noauth () # ------- test with family ip6 transport tcp # registrar >> OK # << ok 22 - [registrar] OK # registrar >> Listening # << ok 23 - [registrar] Listening # uac >> OK # << ok 24 - [uac] OK # uac >> Started # << ok 25 - [uac] Started # uac >> Registered wolf (REALM.example.com) # << ok 26 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 27 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 28 - [uac] Registered noauth () # ------- test with family ip4 transport tls # registrar >> OK # << ok 29 - [registrar] OK # registrar >> Listening # << ok 30 - [registrar] Listening # uac >> OK # << ok 31 - [uac] OK # uac >> Started # << ok 32 - [uac] Started # uac >> Registered wolf (REALM.example.com) # << ok 33 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 34 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 35 - [uac] Registered noauth () # ------- test with family ip6 transport tls # registrar >> OK # << ok 36 - [registrar] OK # registrar >> Listening # << ok 37 - [registrar] Listening # uac >> OK # << ok 38 - [uac] OK # uac >> Started # << ok 39 - [uac] Started # uac >> Registered wolf (REALM.example.com) # << ok 40 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 41 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 42 - [uac] Registered noauth () ok t/11_invite_timeout.t ................... 1..48 # ------- test with family ip4 transport udp ok 1 - create UAS socket ok 2 - fork successful ok 3 - UAS created # ok 4 - UAC created ok 5 - UAS ready # ok 6 - invite did not complete ok 7 - got 487 (request canceled) ok 8 - done # ------- test with family ip6 transport udp ok 9 - create UAS socket ok 10 - fork successful ok 11 - UAS created # ok 12 - UAC created ok 13 - UAS ready # ok 14 - invite did not complete ok 15 - got 487 (request canceled) ok 16 - done # ------- test with family ip4 transport tcp ok 17 - create UAS socket ok 18 - fork successful ok 19 - UAS created # ok 20 - UAC created ok 21 - UAS ready # ok 22 - invite did not complete ok 23 - got 487 (request canceled) ok 24 - done # ------- test with family ip6 transport tcp ok 25 - create UAS socket ok 26 - fork successful ok 27 - UAS created # ok 28 - UAC created ok 29 - UAS ready # ok 30 - invite did not complete ok 31 - got 487 (request canceled) ok 32 - done # ------- test with family ip4 transport tls ok 33 - create UAS socket ok 34 - fork successful ok 35 - UAS created # ok 36 - UAC created ok 37 - UAS ready # ok 38 - invite did not complete ok 39 - got 487 (request canceled) ok 40 - done # ------- test with family ip6 transport tls ok 41 - create UAS socket ok 42 - fork successful ok 43 - UAS created # ok 44 - UAC created ok 45 - UAS ready # ok 46 - invite did not complete ok 47 - got 487 (request canceled) ok 48 - done ok # call established # call cleaned up # call established # call cleaned up # call established # call cleaned up # call established # call cleaned up # call established # call cleaned up # call established # call cleaned up t/12_maddr.t ............................ 1..48 # ------- test with family ip4 transport udp ok 1 - create UAS socket ok 2 - fork successful ok 3 - UAS created # ok 4 - UAC created ok 5 - UAS ready # ok 6 - Call established ok 7 - UAS down ok 8 - UAS finished # ------- test with family ip6 transport udp ok 9 - create UAS socket ok 10 - fork successful ok 11 - UAS created # ok 12 - UAC created ok 13 - UAS ready # ok 14 - Call established ok 15 - UAS down ok 16 - UAS finished # ------- test with family ip4 transport tcp ok 17 - create UAS socket ok 18 - fork successful ok 19 - UAS created # ok 20 - UAC created ok 21 - UAS ready # ok 22 - Call established ok 23 - UAS down ok 24 - UAS finished # ------- test with family ip6 transport tcp ok 25 - create UAS socket ok 26 - fork successful ok 27 - UAS created # ok 28 - UAC created ok 29 - UAS ready # ok 30 - Call established ok 31 - UAS down ok 32 - UAS finished # ------- test with family ip4 transport tls ok 33 - create UAS socket ok 34 - fork successful ok 35 - UAS created # ok 36 - UAC created ok 37 - UAS ready # ok 38 - Call established ok 39 - UAS down ok 40 - UAS finished # ------- test with family ip6 transport tls ok 41 - create UAS socket ok 42 - fork successful ok 43 - UAS created # ok 44 - UAC created ok 45 - UAS ready # ok 46 - Call established ok 47 - UAS down ok 48 - UAS finished ok t/13_maddr_proxy.t ...................... 1..1 ok 1 - got target from maddr ok # UAS on 127.0.0.1:5062 # UAC on 127.0.0.1:5060 # PROXY on 127.0.0.1:5063 t/14_bugfix_0.51.t ...................... 1..12 # proxy >> OK # << ok 1 - [proxy] OK # proxy >> Listening # << ok 2 - [proxy] Listening # uas >> OK # << ok 3 - [uas] OK # uas >> Listening # << ok 4 - [uas] Listening # uac >> OK # << ok 5 - [uac] OK # uac >> Started # << ok 6 - [uac] Started # uas >> Call accepted # Starting ReInvite # << ok 7 - [uas] Call accepted ok 8 - [uas] Starting ReInvite # uac >> Got ReInvite # << ok 9 - [uac] Got ReInvite # uas >> Send BYE # << ok 10 - [uas] Send BYE # uac >> Received BYE # << ok 11 - [uac] Received BYE # uas >> BYE done # << ok 12 - [uas] BYE done ok t/15_block_invite.t ..................... 1..8 ok 1 - create UAS socket ok 2 - fork successful ok 3 - UAS created # ok 4 - UAC created ok 5 - UAC ready ok 6 - UAS ready # ok 7 - UAC got block 405 and finished ok 8 - UAS finished ok t/16_drop_invite.t ...................... 1..9 ok 1 - open tempfile ok 2 - create socket ok 3 - fork successful ok 4 - UAS created ok 5 - UAC created ok 6 - UAS ready ok 7 - UAC ready # Now send INVITE for 5 seconds ok 8 - UAC got no answer from UAS ok 9 - UAS got INVITE, dropped it and wrote database file ok t/17_call_with_reinvite_and_auth.t ...... 1..66 # ------- test with family ip4 transport udp # uas >> OK # << ok 1 - [uas] OK # uas >> Listening # << ok 2 - [uas] Listening # uac >> OK # << ok 3 - [uac] OK # uac >> Started # << ok 4 - [uac] Started # uas >> Call accepted # << ok 5 - [uas] Call accepted # uac >> Starting ReInvite # << ok 6 - [uac] Starting ReInvite # uas >> ReInvite accepted # << ok 7 - [uas] ReInvite accepted # uac >> ReInvite done # << ok 8 - [uac] ReInvite done # uac >> Send BYE # << ok 9 - [uac] Send BYE # uas >> Received BYE # << ok 10 - [uas] Received BYE # uac >> BYE done # << ok 11 - [uac] BYE done # ------- test with family ip6 transport udp # uas >> OK # << ok 12 - [uas] OK # uas >> Listening # << ok 13 - [uas] Listening # uac >> OK # << ok 14 - [uac] OK # uac >> Started # << ok 15 - [uac] Started # uas >> Call accepted # << ok 16 - [uas] Call accepted # uac >> Starting ReInvite # << ok 17 - [uac] Starting ReInvite # uas >> ReInvite accepted # << ok 18 - [uas] ReInvite accepted # uac >> ReInvite done # << ok 19 - [uac] ReInvite done # uac >> Send BYE # << ok 20 - [uac] Send BYE # uas >> Received BYE # << ok 21 - [uas] Received BYE # uac >> BYE done # << ok 22 - [uac] BYE done # ------- test with family ip4 transport tcp # uas >> OK # << ok 23 - [uas] OK # uas >> Listening # << ok 24 - [uas] Listening # uac >> OK # << ok 25 - [uac] OK # uac >> Started # << ok 26 - [uac] Started # uas >> Call accepted # << ok 27 - [uas] Call accepted # uac >> Starting ReInvite # << ok 28 - [uac] Starting ReInvite # uas >> ReInvite accepted # << ok 29 - [uas] ReInvite accepted # uac >> ReInvite done # << ok 30 - [uac] ReInvite done # uac >> Send BYE # << ok 31 - [uac] Send BYE # uas >> Received BYE # << ok 32 - [uas] Received BYE # uac >> BYE done # << ok 33 - [uac] BYE done # ------- test with family ip6 transport tcp # uas >> OK # << ok 34 - [uas] OK # uas >> Listening # << ok 35 - [uas] Listening # uac >> OK # << ok 36 - [uac] OK # uac >> Started # << ok 37 - [uac] Started # uas >> Call accepted # << ok 38 - [uas] Call accepted # uac >> Starting ReInvite # << ok 39 - [uac] Starting ReInvite # uas >> ReInvite accepted # << ok 40 - [uas] ReInvite accepted # uac >> ReInvite done # << ok 41 - [uac] ReInvite done # uac >> Send BYE # << ok 42 - [uac] Send BYE # uas >> Received BYE # << ok 43 - [uas] Received BYE # uac >> BYE done # << ok 44 - [uac] BYE done # ------- test with family ip4 transport tls # uas >> OK # << ok 45 - [uas] OK # uas >> Listening # << ok 46 - [uas] Listening # uac >> OK # << ok 47 - [uac] OK # uac >> Started # << ok 48 - [uac] Started # uas >> Call accepted # << ok 49 - [uas] Call accepted # uac >> Starting ReInvite # << ok 50 - [uac] Starting ReInvite # uas >> ReInvite accepted # << ok 51 - [uas] ReInvite accepted # uac >> ReInvite done # << ok 52 - [uac] ReInvite done # uac >> Send BYE # << ok 53 - [uac] Send BYE # uas >> Received BYE # << ok 54 - [uas] Received BYE # uac >> BYE done # << ok 55 - [uac] BYE done # ------- test with family ip6 transport tls # uas >> OK # << ok 56 - [uas] OK # uas >> Listening # << ok 57 - [uas] Listening # uac >> OK # << ok 58 - [uac] OK # uac >> Started # << ok 59 - [uac] Started # uas >> Call accepted # << ok 60 - [uas] Call accepted # uac >> Starting ReInvite # << ok 61 - [uac] Starting ReInvite # uas >> ReInvite accepted # << ok 62 - [uas] ReInvite accepted # uac >> ReInvite done # << ok 63 - [uac] ReInvite done # uac >> Send BYE # << ok 64 - [uac] Send BYE # uas >> Received BYE # << ok 65 - [uas] Received BYE # uac >> BYE done # << ok 66 - [uac] BYE done ok t/18_register_with_auth_step_by_step.t .. 1..48 # ------- test with family ip4 transport udp # registrar >> OK # << ok 1 - [registrar] OK # registrar >> Listening # << ok 2 - [registrar] Listening # uac >> OK # << ok 3 - [uac] OK # uac >> Started # << ok 4 - [uac] Started # uac >> got 401 response # << ok 5 - [uac] got 401 response # uac >> Registered wolf (REALM.example.com) # << ok 6 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 7 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 8 - [uac] Registered noauth () # ------- test with family ip6 transport udp # registrar >> OK # << ok 9 - [registrar] OK # registrar >> Listening # << ok 10 - [registrar] Listening # uac >> OK # << ok 11 - [uac] OK # uac >> Started # << ok 12 - [uac] Started # uac >> got 401 response # << ok 13 - [uac] got 401 response # uac >> Registered wolf (REALM.example.com) # << ok 14 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 15 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 16 - [uac] Registered noauth () # ------- test with family ip4 transport tcp # registrar >> OK # << ok 17 - [registrar] OK # registrar >> Listening # << ok 18 - [registrar] Listening # uac >> OK # << ok 19 - [uac] OK # uac >> Started # << ok 20 - [uac] Started # uac >> got 401 response # << ok 21 - [uac] got 401 response # uac >> Registered wolf (REALM.example.com) # << ok 22 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 23 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 24 - [uac] Registered noauth () # ------- test with family ip6 transport tcp # registrar >> OK # << ok 25 - [registrar] OK # registrar >> Listening # << ok 26 - [registrar] Listening # uac >> OK # << ok 27 - [uac] OK # uac >> Started # << ok 28 - [uac] Started # uac >> got 401 response # << ok 29 - [uac] got 401 response # uac >> Registered wolf (REALM.example.com) # << ok 30 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 31 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 32 - [uac] Registered noauth () # ------- test with family ip4 transport tls # registrar >> OK # << ok 33 - [registrar] OK # registrar >> Listening # << ok 34 - [registrar] Listening # uac >> OK # << ok 35 - [uac] OK # uac >> Started # << ok 36 - [uac] Started # uac >> got 401 response # << ok 37 - [uac] got 401 response # uac >> Registered wolf (REALM.example.com) # << ok 38 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 39 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 40 - [uac] Registered noauth () # ------- test with family ip6 transport tls # registrar >> OK # << ok 41 - [registrar] OK # registrar >> Listening # << ok 42 - [registrar] Listening # uac >> OK # << ok 43 - [uac] OK # uac >> Started # << ok 44 - [uac] Started # uac >> got 401 response # << ok 45 - [uac] got 401 response # uac >> Registered wolf (REALM.example.com) # << ok 46 - [uac] Registered wolf (REALM.example.com) # uac >> Registered 007 (REALM.example.com) # << ok 47 - [uac] Registered 007 (REALM.example.com) # uac >> Registered noauth () # << ok 48 - [uac] Registered noauth () ok # UAS on 127.0.0.1:54375 # UAC on 127.0.0.1:48808 # call created # call established # call cleaned up # received=466 lost=0 expect ca. 467.5 packets, events='1 2 D # 3 4 B *' # UAS on [::1]:38583 # UAC on [::1]:59766 # call created # call established # call cleaned up # received=467 lost=0 expect ca. 467.5 packets, events='1 2 D # 3 4 B *' # UAS on 127.0.0.1:39611 # UAC on 127.0.0.1:40233 # call created # call established # call cleaned up # received=465 lost=0 expect ca. 467.5 packets, events='1 2 D # 3 4 B *' # UAS on [::1]:51141 # UAC on [::1]:36053 # call created # call established # call cleaned up # received=464 lost=0 expect ca. 467.5 packets, events='1 2 D # 3 4 B *' # UAS on 127.0.0.1:38561 # UAC on 127.0.0.1:55591 # call created # call established # call cleaned up # received=465 lost=0 expect ca. 467.5 packets, events='1 2 D # 3 4 B *' # UAS on [::1]:42531 # UAC on [::1]:51413 # call created # call established # call cleaned up # received=466 lost=0 expect ca. 467.5 packets, events='1 2 D # 3 4 B *' t/19_call_with_dtmf.t ................... 1..54 # ------- test with family ip4 transport udp ok 1 - UAC created ok 2 - UAS ready ok 3 - no error on UAC ok 4 - Call established ok 5 - Done sending RTP ok 6 - UAS down ok 7 - UAS RTP ok ok 8 - UAC DTMF received ok 9 - UAS finished with DTMF # ------- test with family ip6 transport udp ok 10 - UAC created ok 11 - UAS ready ok 12 - no error on UAC ok 13 - Call established ok 14 - Done sending RTP ok 15 - UAS down ok 16 - UAS RTP ok ok 17 - UAC DTMF received ok 18 - UAS finished with DTMF # ------- test with family ip4 transport tcp ok 19 - UAC created ok 20 - UAS ready ok 21 - no error on UAC ok 22 - Call established ok 23 - Done sending RTP ok 24 - UAS down ok 25 - UAS RTP ok ok 26 - UAC DTMF received ok 27 - UAS finished with DTMF # ------- test with family ip6 transport tcp ok 28 - UAC created ok 29 - UAS ready ok 30 - no error on UAC ok 31 - Call established ok 32 - Done sending RTP ok 33 - UAS down ok 34 - UAS RTP ok ok 35 - UAC DTMF received ok 36 - UAS finished with DTMF # ------- test with family ip4 transport tls ok 37 - UAC created ok 38 - UAS ready ok 39 - no error on UAC ok 40 - Call established ok 41 - Done sending RTP ok 42 - UAS down ok 43 - UAS RTP ok ok 44 - UAC DTMF received ok 45 - UAS finished with DTMF # ------- test with family ip6 transport tls ok 46 - UAC created ok 47 - UAS ready ok 48 - no error on UAC ok 49 - Call established ok 50 - Done sending RTP ok 51 - UAS down ok 52 - UAS RTP ok ok 53 - UAC DTMF received ok 54 - UAS finished with DTMF ok t/20_channel_on_hold.t .................. 1..72 # ------- test with family ip4 transport udp # uas >> OK # << ok 1 - [uas] OK # uas >> Listening # << ok 2 - [uas] Listening # uac >> OK # << ok 3 - [uac] OK # uac >> Started # << ok 4 - [uac] Started # uas >> Call created # << ok 5 - [uas] Call created # uas >> Call established # << ok 6 - [uas] Call established # uac >> Start RTP # << ok 7 - [uac] Start RTP # uac >> RTP#100# # << ok 8 - [uac] RTP\#100\# # uac >> got rtp packet#100 # Send BYE # << ok 9 - [uac] got rtp packet\#100 ok 10 - [uac] Send BYE # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 11 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> Start RTP # RTP#100# # Call done (1 0 1 1 -- 1 1 0 1) # << ok 12 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport udp # uas >> OK # << ok 13 - [uas] OK # uas >> Listening # << ok 14 - [uas] Listening # uac >> OK # << ok 15 - [uac] OK # uac >> Started # << ok 16 - [uac] Started # uas >> Call created # << ok 17 - [uas] Call created # uas >> Call established # << ok 18 - [uas] Call established # uac >> Start RTP # << ok 19 - [uac] Start RTP # uac >> RTP#100# # << ok 20 - [uac] RTP\#100\# # uac >> got rtp packet#100 # << ok 21 - [uac] got rtp packet\#100 # uac >> Send BYE # << ok 22 - [uac] Send BYE # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 23 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> Start RTP # RTP#100# # Call done (1 0 1 1 -- 1 1 0 1) # << ok 24 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport tcp # uas >> OK # << ok 25 - [uas] OK # uas >> Listening # << ok 26 - [uas] Listening # uac >> OK # << ok 27 - [uac] OK # uac >> Started # << ok 28 - [uac] Started # uas >> Call created # << ok 29 - [uas] Call created # uas >> Call established # << ok 30 - [uas] Call established # uac >> Start RTP # << ok 31 - [uac] Start RTP # uac >> RTP#100# # << ok 32 - [uac] RTP\#100\# # uac >> got rtp packet#100 # Send BYE # << ok 33 - [uac] got rtp packet\#100 ok 34 - [uac] Send BYE # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 35 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> Start RTP # RTP#100# # Call done (1 0 1 1 -- 1 1 0 1) # << ok 36 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport tcp # uas >> OK # << ok 37 - [uas] OK # uas >> Listening # << ok 38 - [uas] Listening # uac >> OK # << ok 39 - [uac] OK # uac >> Started # << ok 40 - [uac] Started # uas >> Call created # << ok 41 - [uas] Call created # uas >> Call established # << ok 42 - [uas] Call established # uac >> Start RTP # << ok 43 - [uac] Start RTP # uac >> RTP#100# # << ok 44 - [uac] RTP\#100\# # uac >> got rtp packet#100 # << ok 45 - [uac] got rtp packet\#100 # uac >> Send BYE # << ok 46 - [uac] Send BYE # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 47 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> Start RTP # RTP#100# # Call done (1 0 1 1 -- 1 1 0 1) # << ok 48 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport tls # uas >> OK # << ok 49 - [uas] OK # uas >> Listening # << ok 50 - [uas] Listening # uac >> OK # << ok 51 - [uac] OK # uac >> Started # << ok 52 - [uac] Started # uas >> Call created # << ok 53 - [uas] Call created # uas >> Call established # << ok 54 - [uas] Call established # uac >> Start RTP # << ok 55 - [uac] Start RTP # uac >> RTP#100# # << ok 56 - [uac] RTP\#100\# # uac >> got rtp packet#100 # << ok 57 - [uac] got rtp packet\#100 # uac >> Send BYE # << ok 58 - [uac] Send BYE # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 59 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> Start RTP # RTP#100# # Call done (1 0 1 1 -- 1 1 0 1) # << ok 60 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport tls # uas >> OK # << ok 61 - [uas] OK # uas >> Listening # << ok 62 - [uas] Listening # uac >> OK # << ok 63 - [uac] OK # uac >> Started # << ok 64 - [uac] Started # uas >> Call created # << ok 65 - [uas] Call created # uas >> Call established # << ok 66 - [uas] Call established # uac >> Start RTP # << ok 67 - [uac] Start RTP # uac >> RTP#100# # << ok 68 - [uac] RTP\#100\# # uac >> got rtp packet#100 # << ok 69 - [uac] got rtp packet\#100 # uac >> Send BYE # << ok 70 - [uac] Send BYE # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 71 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> Start RTP # RTP#100# # Call done (1 0 1 1 -- 1 1 0 1) # << ok 72 - [uas] Call done (1 0 1 1 -- 1 1 0 1) ok t/21_channel_on_hold_stateless_proxy.t .. 1..360 # ------- test with family ip4 transport udp no-nat # UAS on 127.0.0.1:44371 # UAC on 127.0.0.1:55095 # PROXY on 127.0.0.1:37214 127.0.0.1:50098 ok 1 - no fork nathelper # proxy >> OK # << ok 2 - [proxy] OK # uas >> OK # << ok 3 - [uas] OK # proxy >> ready # << ok 4 - [proxy] ready # uas >> ready # << ok 5 - [uas] ready # uac >> OK # << ok 6 - [uac] OK # uac >> ready # << ok 7 - [uac] ready # uac >> O> 127.0.0.1:37214 REQ(INVITE) SDP: audio=127.0.0.1:6550/2 audio=127.0.0.1/2 audio=127.0.0.1:7968/2 audio=127.0.0.1:2570/2 # << ok 8 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a793ee0b60) REQ(INVITE) SDP: audio=127.0.0.1:6550/2 audio=127.0.0.1/2 audio=127.0.0.1:7968/2 audio=127.0.0.1:2570/2 # << ok 9 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:44371 REQ(INVITE) SDP: audio=127.0.0.1:6550/2 audio=127.0.0.1/2 audio=127.0.0.1:7968/2 audio=127.0.0.1:2570/2 # << ok 10 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794ce4a80) REQ(INVITE) SDP: audio=127.0.0.1:6550/2 audio=127.0.0.1/2 audio=127.0.0.1:7968/2 audio=127.0.0.1:2570/2 # << ok 11 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 12 - outgoing on UAC must be the same as incoming on proxy ok 13 - outgoing on proxy must be the same as incoming on UAS ok 14 - SDP must pass unchanged to UAS ok 15 - dummy # uas >> O> 127.0.0.1:50098 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 16 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP 127.0.0.1:50098;branch=z9hG4bK405ea95d44f2e6d6ea27448a5c7a89f6b59a7f9d47873e8362bbba22dff526 # Record-route: # Via: SIP/2.0/UDP 127.0.0.1:37214;branch=z9hG4bK5c2a204988232d2196d44c88ba4a6a96b59a7f9d47873e8714f9df29627a80 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP 127.0.0.1:55095;branch=z9hG4bK817a9219bb632aaf8c657c88cb9c7e9fb59a7f9d47873e8a22b308aefd3cff # Call-id: 8ed41263fc06272f56b9642868591d6f # Cseq: 1 INVITE # From: me.uac@example.com;tag=cf5492e6b98ffc5b54a5389b921806ed # Content-type: application/sdp # Content-length: 188 # Max-forwards: 69 # Contact: sip:bBBZWYKPHM5JPXK7O4VOLHCRAE6SI4RSBQDEX66DMWTM5D7CWBQQOTBA@127.0.0.1:50098 # To: you.uas@example.com;tag=be8097cd4e8a6f01643f29f27d0f89f5 # # v=0 # o=anonymous 1541795278 1541795278 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 6550 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 7968 RTP/AVP 0 # m=audio 2570 RTP/AVP 0 # << ok 17 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:50098\;) ok 18 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:55095\;) # uac >> I< HASH(0x55a794cda120) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794cdab28) RSP(INVITE,200) SDP: audio=127.0.0.1:2770/2 audio=127.0.0.1:8306/2 audio=127.0.0.1/2 audio=127.0.0.1:5146/2 # << # uac >> O> 127.0.0.1:37214 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:37214 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794cd9048) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 19 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:50098 RSP(INVITE,200) SDP: audio=127.0.0.1:2770/2 audio=127.0.0.1:8306/2 audio=127.0.0.1/2 audio=127.0.0.1:5146/2 # I< HASH(0x55a794cf2dd0) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794ce3d78) REQ(BYE) NO SDP # O> 127.0.0.1:50098 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 20 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport udp inline-nat # UAS on 127.0.0.1:59620 # UAC on 127.0.0.1:34838 # PROXY on 127.0.0.1:41212 127.0.0.1:38505 ok 21 - no fork nathelper # proxy >> OK # << ok 22 - [proxy] OK # uas >> OK # << ok 23 - [uas] OK # proxy >> ready # << ok 24 - [proxy] ready # uas >> ready # << ok 25 - [uas] ready # uac >> OK # << ok 26 - [uac] OK # uac >> ready # << ok 27 - [uac] ready # uac >> O> 127.0.0.1:41212 REQ(INVITE) SDP: audio=127.0.0.1:7568/2 audio=127.0.0.1/2 audio=127.0.0.1:10216/2 audio=127.0.0.1:7672/2 # << ok 28 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794ce3708) REQ(INVITE) SDP: audio=127.0.0.1:7568/2 audio=127.0.0.1/2 audio=127.0.0.1:10216/2 audio=127.0.0.1:7672/2 # << ok 29 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:59620 REQ(INVITE) SDP: audio=127.0.0.1:6466/2 audio=127.0.0.1/2 audio=127.0.0.1:10428/2 audio=127.0.0.1:9670/2 # << ok 30 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794ce94e8) REQ(INVITE) SDP: audio=127.0.0.1:6466/2 audio=127.0.0.1/2 audio=127.0.0.1:10428/2 audio=127.0.0.1:9670/2 # << ok 31 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 32 - outgoing on UAC must be the same as incoming on proxy ok 33 - outgoing on proxy must be the same as incoming on UAS ok 34 - allocated addr:port must be different (127.0.0.1:7568|127.0.0.1:6466) ok 35 - ranges must stay the same # uas >> O> 127.0.0.1:38505 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 36 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP 127.0.0.1:38505;branch=z9hG4bK95c180f0833f8be1ee19189f7a253c5e09412391b5bc3b33417441a98e72de # Record-route: # Via: SIP/2.0/UDP 127.0.0.1:41212;branch=z9hG4bKe6a9455dd9fa32722017d91e8714639809412391b5bc3b3024103f867eb62d # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP 127.0.0.1:34838;branch=z9hG4bK81911d7256dad0f15611b687fa72a73e09412391b5bc3b36fdd9be664823a5 # Call-id: 4a2524f015bf31c8b5d9c519c94ee523 # Cseq: 1 INVITE # From: me.uac@example.com;tag=b251ba31ef126b13193401a0c76f5abb # Content-type: application/sdp # Content-length: 189 # Max-forwards: 69 # Contact: sip:bHQVXVO6T5IXQLFGIV3T5CXF33SRIHLNCPLD7ZPHRVMGHNY5O6XLVFYQ@127.0.0.1:38505 # To: you.uas@example.com;tag=e7356de8a50f252527b8a771ff538ae7 # # v=0 # o=anonymous 1541795279 1541795279 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 6466 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 10428 RTP/AVP 0 # m=audio 9670 RTP/AVP 0 # << ok 37 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:38505\;) ok 38 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:34838\;) # uac >> I< HASH(0x55a794cdd980) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794cf5ad0) RSP(INVITE,200) SDP: audio=127.0.0.1:7472/2 audio=127.0.0.1:9534/2 audio=127.0.0.1/2 audio=127.0.0.1:7820/2 # << # uac >> O> 127.0.0.1:41212 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:41212 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794cdd248) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 39 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:38505 RSP(INVITE,200) SDP: audio=127.0.0.1:4808/2 audio=127.0.0.1:4488/2 audio=127.0.0.1/2 audio=127.0.0.1:4996/2 # I< HASH(0x55a794cf8738) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794ce8978) REQ(BYE) NO SDP # O> 127.0.0.1:38505 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 40 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport udp remote-nat # UAS on 127.0.0.1:50776 # UAC on 127.0.0.1:55482 # PROXY on 127.0.0.1:42746 127.0.0.1:42450 # nathelper >> OK # << ok 41 - [nathelper] OK # proxy >> OK # << ok 42 - [proxy] OK # uas >> OK # << ok 43 - [uas] OK # proxy >> ready # << ok 44 - [proxy] ready # uas >> ready # << ok 45 - [uas] ready # uac >> OK # << ok 46 - [uac] OK # uac >> ready # << ok 47 - [uac] ready # uac >> O> 127.0.0.1:42746 REQ(INVITE) SDP: audio=127.0.0.1:8008/2 audio=127.0.0.1/2 audio=127.0.0.1:10678/2 audio=127.0.0.1:11480/2 # << ok 48 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794ce5240) REQ(INVITE) SDP: audio=127.0.0.1:8008/2 audio=127.0.0.1/2 audio=127.0.0.1:10678/2 audio=127.0.0.1:11480/2 # << ok 49 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:50776 REQ(INVITE) SDP: audio=127.0.0.1:9206/2 audio=127.0.0.1/2 audio=127.0.0.1:2486/2 audio=127.0.0.1:11972/2 # << ok 50 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794cecaa8) REQ(INVITE) SDP: audio=127.0.0.1:9206/2 audio=127.0.0.1/2 audio=127.0.0.1:2486/2 audio=127.0.0.1:11972/2 # << ok 51 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 52 - outgoing on UAC must be the same as incoming on proxy ok 53 - outgoing on proxy must be the same as incoming on UAS ok 54 - allocated addr:port must be different (127.0.0.1:8008|127.0.0.1:9206) ok 55 - ranges must stay the same # uas >> O> 127.0.0.1:42450 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 56 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP 127.0.0.1:42450;branch=z9hG4bK05604965ed079d558fb7b3039ff33967020f306480c08fe980f5f718b7c5cb # Record-route: # Via: SIP/2.0/UDP 127.0.0.1:42746;branch=z9hG4bK2e8f2586a5e87cb22001b15c5803e677020f306480c08fe27462c322d3e7af # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP 127.0.0.1:55482;branch=z9hG4bK80bde4ad75016adf5082f406bb42680b020f306480c08fe0253b3b62d7a6eb # Call-id: c8a61cb65c9ca9b2e066be74c5c67979 # Cseq: 1 INVITE # From: me.uac@example.com;tag=ed0d37db1c96263ba301fc2322d4d85e # Content-type: application/sdp # Max-forwards: 69 # Contact: sip:bOJLSJCG5RDWTMNJXE7ZBLZSK6CZA723XGERL3DGGJK6TMWNEYIFFOII@127.0.0.1:42450 # Content-length: 189 # To: you.uas@example.com;tag=c4e63ea23364e79efc260a1815a0095e # # v=0 # o=anonymous 1541795280 1541795280 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 9206 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 2486 RTP/AVP 0 # m=audio 11972 RTP/AVP 0 # << ok 57 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:42450\;) ok 58 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ 127\.0\.0\.1\:55482\;) # uac >> I< HASH(0x55a794ce27e0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794cf8b90) RSP(INVITE,200) SDP: audio=127.0.0.1:4384/2 audio=127.0.0.1:5306/2 audio=127.0.0.1/2 audio=127.0.0.1:3986/2 # << # uac >> O> 127.0.0.1:42746 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:42746 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794cdb490) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 59 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:42450 RSP(INVITE,200) SDP: audio=127.0.0.1:8074/2 audio=127.0.0.1:4006/2 audio=127.0.0.1/2 audio=127.0.0.1:2834/2 # I< HASH(0x55a794cfc7f8) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794cd9da8) REQ(BYE) NO SDP # O> 127.0.0.1:42450 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 60 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport udp no-nat # UAS on [::1]:53322 # UAC on [::1]:40942 # PROXY on [::1]:45860 [::1]:34387 ok 61 - no fork nathelper # proxy >> OK # << ok 62 - [proxy] OK # uas >> OK # << ok 63 - [uas] OK # proxy >> ready # << ok 64 - [proxy] ready # uas >> ready # << ok 65 - [uas] ready # uac >> OK # << ok 66 - [uac] OK # uac >> ready # << ok 67 - [uac] ready # uac >> O> [::1]:45860 REQ(INVITE) SDP: audio=[::1]:10518/2 audio=::1/2 audio=[::1]:4622/2 audio=[::1]:10356/2 # << ok 68 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794ce9770) REQ(INVITE) SDP: audio=[::1]:10518/2 audio=::1/2 audio=[::1]:4622/2 audio=[::1]:10356/2 # << ok 69 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:53322 REQ(INVITE) SDP: audio=[::1]:10518/2 audio=::1/2 audio=[::1]:4622/2 audio=[::1]:10356/2 # << ok 70 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794cf2718) REQ(INVITE) SDP: audio=[::1]:10518/2 audio=::1/2 audio=[::1]:4622/2 audio=[::1]:10356/2 # << ok 71 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 72 - outgoing on UAC must be the same as incoming on proxy ok 73 - outgoing on proxy must be the same as incoming on UAS ok 74 - SDP must pass unchanged to UAS ok 75 - dummy # uas >> O> [::1]:34387 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 76 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP [::1]:34387;branch=z9hG4bK39e701f101e0cd244d85052aca662a42f2099e8fc3b4eb5361a90bc7cec77a # Record-route: # Via: SIP/2.0/UDP [::1]:45860;branch=z9hG4bK57bc4f09689d3c208bb254e6e44359e5f2099e8fc3b4eb533fe6af76c54699 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP [::1]:40942;branch=z9hG4bK2a45e3370d0afa9d5777e8c56f3256a8f2099e8fc3b4eb5294562f40315997 # Call-id: 7729c2eef0809b750cf8354372edf472 # Cseq: 1 INVITE # From: me.uac@example.com;tag=9c63ee35c74d80ea5309eecc6d4bc6b6 # Content-type: application/sdp # Content-length: 178 # Max-forwards: 69 # Contact: sip:bVSGZKHCAOP6DP63VVFTK5DWA7PDPAFTFY4S46O65KDQCLQ2F@[::1]:34387 # To: you.uas@example.com;tag=5f13bef034a8f2fbd7c5e3c2adbcc042 # # v=0 # o=anonymous 1541795280 1541795280 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 10518 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 4622 RTP/AVP 0 # m=audio 10356 RTP/AVP 0 # << ok 77 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:34387\;) ok 78 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:40942\;) # uac >> I< HASH(0x55a794ce5718) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794cfd0b8) RSP(INVITE,200) SDP: audio=[::1]:9932/2 audio=[::1]:10624/2 audio=::1/2 audio=[::1]:6644/2 # << # uac >> O> [::1]:45860 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:45860 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794cfd268) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 79 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:34387 RSP(INVITE,200) SDP: audio=[::1]:9932/2 audio=[::1]:10624/2 audio=::1/2 audio=[::1]:6644/2 # I< HASH(0x55a794d019b0) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794cddf08) REQ(BYE) NO SDP # O> [::1]:34387 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 80 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport udp inline-nat # UAS on [::1]:38431 # UAC on [::1]:46112 # PROXY on [::1]:33248 [::1]:43647 ok 81 - no fork nathelper # proxy >> OK # << ok 82 - [proxy] OK # uas >> OK # << ok 83 - [uas] OK # proxy >> ready # << ok 84 - [proxy] ready # uas >> ready # << ok 85 - [uas] ready # uac >> OK # << ok 86 - [uac] OK # uac >> ready # << ok 87 - [uac] ready # uac >> O> [::1]:33248 REQ(INVITE) SDP: audio=[::1]:6198/2 audio=::1/2 audio=[::1]:6882/2 audio=[::1]:3754/2 # << ok 88 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794ceff60) REQ(INVITE) SDP: audio=[::1]:6198/2 audio=::1/2 audio=[::1]:6882/2 audio=[::1]:3754/2 # << ok 89 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:38431 REQ(INVITE) SDP: audio=[::1]:3442/2 audio=::1/2 audio=[::1]:3024/2 audio=[::1]:8598/2 # << ok 90 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794cf61c0) REQ(INVITE) SDP: audio=[::1]:3442/2 audio=::1/2 audio=[::1]:3024/2 audio=[::1]:8598/2 # << ok 91 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 92 - outgoing on UAC must be the same as incoming on proxy ok 93 - outgoing on proxy must be the same as incoming on UAS ok 94 - allocated addr:port must be different ([::1]:6198|[::1]:3442) ok 95 - ranges must stay the same # uas >> O> [::1]:43647 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 96 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP [::1]:43647;branch=z9hG4bKd76d44a9ec209010190fbe76b2b2a7b02143b6192a483e615223b8dfd258dc # Record-route: # Via: SIP/2.0/UDP [::1]:33248;branch=z9hG4bK6bd259a63ad370531740c82b31f686462143b6192a483e65e997fd2afe6b8c # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP [::1]:46112;branch=z9hG4bK055216dec60581895c0cfa722211f87c2143b6192a483e67a9b18ffd01fd8d # Call-id: c7e5b2e359bfd74508c03ae8a38e5547 # Cseq: 1 INVITE # From: me.uac@example.com;tag=6d7e40d4fe523f415fd9ba58997c2fd4 # Content-type: application/sdp # Content-length: 176 # Max-forwards: 69 # Contact: sip:bNV3NIGJPOVGXCVVHWJ7CCJLAYGK5RJXMJYOQAWY3DBJZBWAN@[::1]:43647 # To: you.uas@example.com;tag=9c9146c0a23e418c2317ae2ddac22e56 # # v=0 # o=anonymous 1541795281 1541795281 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 3442 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 3024 RTP/AVP 0 # m=audio 8598 RTP/AVP 0 # << ok 97 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:43647\;) ok 98 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:46112\;) # uac >> I< HASH(0x55a794ce9150) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794d01a20) RSP(INVITE,200) SDP: audio=[::1]:5480/2 audio=[::1]:5154/2 audio=::1/2 audio=[::1]:10416/2 # << # uac >> O> [::1]:33248 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:33248 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794ce8d60) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 99 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:43647 RSP(INVITE,200) SDP: audio=[::1]:2450/2 audio=[::1]:2078/2 audio=::1/2 audio=[::1]:3346/2 # I< HASH(0x55a794d04230) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794cf5fc8) REQ(BYE) NO SDP # O> [::1]:43647 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 100 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport udp remote-nat # UAS on [::1]:52925 # UAC on [::1]:56152 # PROXY on [::1]:47569 [::1]:59179 # nathelper >> OK # << ok 101 - [nathelper] OK # proxy >> OK # << ok 102 - [proxy] OK # uas >> OK # << ok 103 - [uas] OK # proxy >> ready # << ok 104 - [proxy] ready # uas >> ready # << ok 105 - [uas] ready # uac >> OK # << ok 106 - [uac] OK # uac >> ready # << ok 107 - [uac] ready # uac >> O> [::1]:47569 REQ(INVITE) SDP: audio=[::1]:8974/2 audio=::1/2 audio=[::1]:11340/2 audio=[::1]:9118/2 # << ok 108 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794cefd90) REQ(INVITE) SDP: audio=[::1]:8974/2 audio=::1/2 audio=[::1]:11340/2 audio=[::1]:9118/2 # << ok 109 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:52925 REQ(INVITE) SDP: audio=[::1]:2658/2 audio=::1/2 audio=[::1]:10176/2 audio=[::1]:8068/2 # << ok 110 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794cfa0e0) REQ(INVITE) SDP: audio=[::1]:2658/2 audio=::1/2 audio=[::1]:10176/2 audio=[::1]:8068/2 # << ok 111 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 112 - outgoing on UAC must be the same as incoming on proxy ok 113 - outgoing on proxy must be the same as incoming on UAS ok 114 - allocated addr:port must be different ([::1]:8974|[::1]:2658) ok 115 - ranges must stay the same # uas >> O> [::1]:59179 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 116 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/UDP [::1]:59179;branch=z9hG4bKe6379a9f62ee88aa882892a9136e5ac20d269631a061f750d64aa4b9fddf55 # Record-route: # Via: SIP/2.0/UDP [::1]:47569;branch=z9hG4bK4a30b4a9e109f0b19571d8bc2fe417be0d269631a061f7558677bd170cabac # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/UDP [::1]:56152;branch=z9hG4bK4507cf4f509a58064b079413a61918580d269631a061f75391a8abd9faa97c # Call-id: 1990d223759f5e7ad2aae411a660ae98 # Cseq: 1 INVITE # From: me.uac@example.com;tag=9e7a4e1c216b76baa444b3900c95cc6b # Content-type: application/sdp # Content-length: 177 # Max-forwards: 69 # Contact: sip:bDQQ2HEW6AXZRES6X5KP4HHRAFZYKYFM5RLK6GLKLTXXLVWGY@[::1]:59179 # To: you.uas@example.com;tag=6e6493ce2b5ea44858e582221413c811 # # v=0 # o=anonymous 1541795282 1541795282 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 2658 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 10176 RTP/AVP 0 # m=audio 8068 RTP/AVP 0 # << ok 117 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:59179\;) ok 118 - [uas] (?^i:via\:\ SIP\/2\.0\/udp\ \[\:\:1\]\:56152\;) # uac >> I< HASH(0x55a794cedfd0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794d06b60) RSP(INVITE,200) SDP: audio=[::1]:6488/2 audio=[::1]:6682/2 audio=::1/2 audio=[::1]:6312/2 # << # uac >> O> [::1]:47569 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:47569 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794ced868) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 119 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:59179 RSP(INVITE,200) SDP: audio=[::1]:3428/2 audio=[::1]:9030/2 audio=::1/2 audio=[::1]:11156/2 # I< HASH(0x55a794d080d0) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794cf9f18) REQ(BYE) NO SDP # O> [::1]:59179 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 120 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport tcp no-nat # UAS on 127.0.0.1:52775 # UAC on 127.0.0.1:34043 # PROXY on 127.0.0.1:48599 127.0.0.1:47901 ok 121 - no fork nathelper # proxy >> OK # << ok 122 - [proxy] OK # uas >> OK # << ok 123 - [uas] OK # proxy >> ready # << ok 124 - [proxy] ready # uas >> ready # << ok 125 - [uas] ready # uac >> OK # << ok 126 - [uac] OK # uac >> ready # << ok 127 - [uac] ready # uac >> O> 127.0.0.1:48599 REQ(INVITE) SDP: audio=127.0.0.1:7948/2 audio=127.0.0.1/2 audio=127.0.0.1:8494/2 audio=127.0.0.1:5276/2 # << ok 128 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794cf7ad8) REQ(INVITE) SDP: audio=127.0.0.1:7948/2 audio=127.0.0.1/2 audio=127.0.0.1:8494/2 audio=127.0.0.1:5276/2 # << ok 129 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:52775 REQ(INVITE) SDP: audio=127.0.0.1:7948/2 audio=127.0.0.1/2 audio=127.0.0.1:8494/2 audio=127.0.0.1:5276/2 # << ok 130 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794cfeed0) REQ(INVITE) SDP: audio=127.0.0.1:7948/2 audio=127.0.0.1/2 audio=127.0.0.1:8494/2 audio=127.0.0.1:5276/2 # << ok 131 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 132 - outgoing on UAC must be the same as incoming on proxy ok 133 - outgoing on proxy must be the same as incoming on UAS ok 134 - SDP must pass unchanged to UAS ok 135 - dummy # uas >> O> 127.0.0.1:44941 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 136 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP 127.0.0.1:47901;branch=z9hG4bK51ba10ff7d6399d3daf3115cac76349d4a7ab2395e08b548adc970528f37ed # Record-route: # Via: SIP/2.0/TCP 127.0.0.1:48599;branch=z9hG4bKa7f24b8eb435c21c2517494fda4149744a7ab2395e08b547edf91857a0c931 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP 127.0.0.1:34043;branch=z9hG4bK769cd21edbf90d0da0b22b6ba02daa524a7ab2395e08b549996977c50c0a57 # Call-id: bce755d77934a7ad6f0c7a27e961664e # Cseq: 1 INVITE # From: me.uac@example.com;tag=8ef0e4562d00afb6d82ec5574ce02003 # Content-type: application/sdp # Content-length: 188 # Max-forwards: 69 # Contact: sip:b6N5NNYRL7DMP44GEJPOUTEOMMY6PJXJZXON3GOSPJASK6JS7W45B2ZY@127.0.0.1:47901 # To: you.uas@example.com;tag=7cf306744b795ad53b97188b33f5caf9 # # v=0 # o=anonymous 1541795283 1541795283 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 7948 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 8494 RTP/AVP 0 # m=audio 5276 RTP/AVP 0 # << ok 137 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:47901\;) ok 138 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:34043\;) # uac >> I< HASH(0x55a794cf2b38) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794d0b918) RSP(INVITE,200) SDP: audio=127.0.0.1:6784/2 audio=127.0.0.1:9122/2 audio=127.0.0.1/2 audio=127.0.0.1:9516/2 # << # uac >> O> 127.0.0.1:48599 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:48599 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794d0b690) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 139 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:44941 RSP(INVITE,200) SDP: audio=127.0.0.1:6784/2 audio=127.0.0.1:9122/2 audio=127.0.0.1/2 audio=127.0.0.1:9516/2 # I< HASH(0x55a794d027c0) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794ce9fb0) REQ(BYE) NO SDP # O> 127.0.0.1:44941 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 140 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport tcp inline-nat # UAS on 127.0.0.1:51147 # UAC on 127.0.0.1:53637 # PROXY on 127.0.0.1:36177 127.0.0.1:38845 ok 141 - no fork nathelper # proxy >> OK # << ok 142 - [proxy] OK # uas >> OK # << ok 143 - [uas] OK # proxy >> ready # << ok 144 - [proxy] ready # uas >> ready # << ok 145 - [uas] ready # uac >> OK # << ok 146 - [uac] OK # uac >> ready # << ok 147 - [uac] ready # uac >> O> 127.0.0.1:36177 REQ(INVITE) SDP: audio=127.0.0.1:7742/2 audio=127.0.0.1/2 audio=127.0.0.1:3726/2 audio=127.0.0.1:3464/2 # << ok 148 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794cfd168) REQ(INVITE) SDP: audio=127.0.0.1:7742/2 audio=127.0.0.1/2 audio=127.0.0.1:3726/2 audio=127.0.0.1:3464/2 # << ok 149 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:51147 REQ(INVITE) SDP: audio=127.0.0.1:9204/2 audio=127.0.0.1/2 audio=127.0.0.1:10318/2 audio=127.0.0.1:11536/2 # << ok 150 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794d02c38) REQ(INVITE) SDP: audio=127.0.0.1:9204/2 audio=127.0.0.1/2 audio=127.0.0.1:10318/2 audio=127.0.0.1:11536/2 # << ok 151 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 152 - outgoing on UAC must be the same as incoming on proxy ok 153 - outgoing on proxy must be the same as incoming on UAS ok 154 - allocated addr:port must be different (127.0.0.1:7742|127.0.0.1:9204) ok 155 - ranges must stay the same # uas >> O> 127.0.0.1:43507 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 156 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP 127.0.0.1:38845;branch=z9hG4bK62cf997f2d2ae81c6e5b48bd04c3613877eb2d2974c72f9d5b0626cb263ebf # Record-route: # Via: SIP/2.0/TCP 127.0.0.1:36177;branch=z9hG4bK6bfedf1da47471f117b4d8c6c3590ca777eb2d2974c72f9322a68eea111794 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP 127.0.0.1:53637;branch=z9hG4bK243316a3a0d3b28316a8625168e40f6877eb2d2974c72f9464bda6f223939c # Call-id: e353e066dfb247a448af63d178b6801f # Cseq: 1 INVITE # From: me.uac@example.com;tag=ab561dd050d1476e132400d68aac25cd # Content-type: application/sdp # Max-forwards: 69 # Contact: sip:bIMNF6Y3FZHPPEINC5BZORFIPEWXYMBBJ5WN3ANMFW2H3UZYYTP4QEFQ@127.0.0.1:38845 # Content-length: 190 # To: you.uas@example.com;tag=d94194d93056e4ad9a4bc35eeb4a38e4 # # v=0 # o=anonymous 1541795283 1541795283 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 9204 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 10318 RTP/AVP 0 # m=audio 11536 RTP/AVP 0 # << ok 157 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:38845\;) ok 158 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:53637\;) # uac >> I< HASH(0x55a794cf67a0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794d0e030) RSP(INVITE,200) SDP: audio=127.0.0.1:5488/2 audio=127.0.0.1:9956/2 audio=127.0.0.1/2 audio=127.0.0.1:2272/2 # << # uac >> O> 127.0.0.1:36177 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:36177 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794d0dee0) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 159 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:43507 RSP(INVITE,200) SDP: audio=127.0.0.1:7674/2 audio=127.0.0.1:10546/2 audio=127.0.0.1/2 audio=127.0.0.1:4910/2 # I< HASH(0x55a794d06478) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794cee9f8) REQ(BYE) NO SDP # O> 127.0.0.1:43507 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 160 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport tcp remote-nat # UAS on 127.0.0.1:60897 # UAC on 127.0.0.1:55005 # PROXY on 127.0.0.1:47743 127.0.0.1:43435 # nathelper >> OK # << ok 161 - [nathelper] OK # proxy >> OK # << ok 162 - [proxy] OK # uas >> OK # << ok 163 - [uas] OK # proxy >> ready # << ok 164 - [proxy] ready # uas >> ready # << ok 165 - [uas] ready # uac >> OK # << ok 166 - [uac] OK # uac >> ready # << ok 167 - [uac] ready # uac >> O> 127.0.0.1:47743 REQ(INVITE) SDP: audio=127.0.0.1:3174/2 audio=127.0.0.1/2 audio=127.0.0.1:9774/2 audio=127.0.0.1:3938/2 # << ok 168 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794cfc940) REQ(INVITE) SDP: audio=127.0.0.1:3174/2 audio=127.0.0.1/2 audio=127.0.0.1:9774/2 audio=127.0.0.1:3938/2 # << ok 169 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:60897 REQ(INVITE) SDP: audio=127.0.0.1:5594/2 audio=127.0.0.1/2 audio=127.0.0.1:8048/2 audio=127.0.0.1:10846/2 # << ok 170 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794d068c8) REQ(INVITE) SDP: audio=127.0.0.1:5594/2 audio=127.0.0.1/2 audio=127.0.0.1:8048/2 audio=127.0.0.1:10846/2 # << ok 171 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 172 - outgoing on UAC must be the same as incoming on proxy ok 173 - outgoing on proxy must be the same as incoming on UAS ok 174 - allocated addr:port must be different (127.0.0.1:3174|127.0.0.1:5594) ok 175 - ranges must stay the same # uas >> O> 127.0.0.1:37887 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 176 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP 127.0.0.1:43435;branch=z9hG4bKf4691fc10ab83d234ead9d8fa9d375797b13ef1c8dd4b59d702d29aefb9bf0 # Record-route: # Via: SIP/2.0/TCP 127.0.0.1:47743;branch=z9hG4bK0b6eadfa4914018fe40209610717114a7b13ef1c8dd4b59a3708473b868143 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP 127.0.0.1:55005;branch=z9hG4bK3d8bbe519e736576d46a410c12690da67b13ef1c8dd4b59dc47cae32a1e0c2 # Call-id: 66b2b063df52b2b5910f5f2ea86201ea # Cseq: 1 INVITE # From: me.uac@example.com;tag=5fa50d342e24069883bc824fbefe9cff # Content-type: application/sdp # Max-forwards: 69 # Contact: sip:b7KMSZLVQPRPSP6LWDLT4EC3KMPEBJ6ZVDSCG4PG5HN5BFUZNN6SQGUA@127.0.0.1:43435 # Content-length: 189 # To: you.uas@example.com;tag=6f6fd62ef3a75a3cdb79e3f71ff7d150 # # v=0 # o=anonymous 1541795284 1541795284 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 5594 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 8048 RTP/AVP 0 # m=audio 10846 RTP/AVP 0 # << ok 177 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:43435\;) ok 178 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ 127\.0\.0\.1\:55005\;) # uac >> I< HASH(0x55a794cfe5f0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794d12ce0) RSP(INVITE,200) SDP: audio=127.0.0.1:8976/2 audio=127.0.0.1:4362/2 audio=127.0.0.1/2 audio=127.0.0.1:10746/2 # << # uac >> O> 127.0.0.1:47743 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:47743 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794cfeec0) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 179 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:37887 RSP(INVITE,200) SDP: audio=127.0.0.1:11678/2 audio=127.0.0.1:9132/2 audio=127.0.0.1/2 audio=127.0.0.1:6724/2 # I< HASH(0x55a794d15030) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794d02e80) REQ(BYE) NO SDP # O> 127.0.0.1:37887 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 180 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport tcp no-nat # UAS on [::1]:45553 # UAC on [::1]:56637 # PROXY on [::1]:51797 [::1]:41297 ok 181 - no fork nathelper # proxy >> OK # << ok 182 - [proxy] OK # uas >> OK # << ok 183 - [uas] OK # proxy >> ready # << ok 184 - [proxy] ready # uas >> ready # << ok 185 - [uas] ready # uac >> OK # << ok 186 - [uac] OK # uac >> ready # << ok 187 - [uac] ready # uac >> O> [::1]:51797 REQ(INVITE) SDP: audio=[::1]:4954/2 audio=::1/2 audio=[::1]:5928/2 audio=[::1]:10876/2 # << ok 188 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794d00ae8) REQ(INVITE) SDP: audio=[::1]:4954/2 audio=::1/2 audio=[::1]:5928/2 audio=[::1]:10876/2 # << ok 189 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:45553 REQ(INVITE) SDP: audio=[::1]:4954/2 audio=::1/2 audio=[::1]:5928/2 audio=[::1]:10876/2 # << ok 190 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794d0a968) REQ(INVITE) SDP: audio=[::1]:4954/2 audio=::1/2 audio=[::1]:5928/2 audio=[::1]:10876/2 # << ok 191 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 192 - outgoing on UAC must be the same as incoming on proxy ok 193 - outgoing on proxy must be the same as incoming on UAS ok 194 - SDP must pass unchanged to UAS ok 195 - dummy # uas >> O> [::1]:41571 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 196 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP [::1]:41297;branch=z9hG4bK3cd769f6bcf21b2dfad639147745e65aaa4879607d5635be6b8994c2987e2e # Record-route: # Via: SIP/2.0/TCP [::1]:51797;branch=z9hG4bK4b29200df97e60de920825f54d96a940aa4879607d5635b96c36ce2d206ca6 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP [::1]:56637;branch=z9hG4bKbe219428b89e8b6e6f6fc2201131872aaa4879607d5635b961e88c472996f6 # Call-id: 4ce7a676f2e17fa37465e3d722d86dbc # Cseq: 1 INVITE # From: me.uac@example.com;tag=501f723654199d0e1dbb94b450c37a70 # Content-type: application/sdp # Content-length: 177 # Max-forwards: 69 # Contact: sip:bHEYQIBJOZ5LFW6GML6YGBX5XB5QTGTPAGQG4GK6CHHORPU7Q@[::1]:41297 # To: you.uas@example.com;tag=a7ef89f5c5706385f87b727b18b3e5cc # # v=0 # o=anonymous 1541795285 1541795285 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 4954 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 5928 RTP/AVP 0 # m=audio 10876 RTP/AVP 0 # << ok 197 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:41297\;) ok 198 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:56637\;) # uac >> I< HASH(0x55a794d01bc8) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794d02780) RSP(INVITE,200) SDP: audio=[::1]:8640/2 audio=[::1]:6684/2 audio=::1/2 audio=[::1]:9488/2 # << # uac >> O> [::1]:51797 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:51797 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794d02510) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 199 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:41571 RSP(INVITE,200) SDP: audio=[::1]:8640/2 audio=[::1]:6684/2 audio=::1/2 audio=[::1]:9488/2 # I< HASH(0x55a794d0d180) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794d071a8) REQ(BYE) NO SDP # O> [::1]:41571 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 200 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport tcp inline-nat # UAS on [::1]:37381 # UAC on [::1]:52769 # PROXY on [::1]:46033 [::1]:45581 ok 201 - no fork nathelper # proxy >> OK # << ok 202 - [proxy] OK # uas >> OK # << ok 203 - [uas] OK # proxy >> ready # << ok 204 - [proxy] ready # uas >> ready # << ok 205 - [uas] ready # uac >> OK # << ok 206 - [uac] OK # uac >> ready # << ok 207 - [uac] ready # uac >> O> [::1]:46033 REQ(INVITE) SDP: audio=[::1]:6504/2 audio=::1/2 audio=[::1]:9670/2 audio=[::1]:8964/2 # << ok 208 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794d04e78) REQ(INVITE) SDP: audio=[::1]:6504/2 audio=::1/2 audio=[::1]:9670/2 audio=[::1]:8964/2 # << ok 209 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:37381 REQ(INVITE) SDP: audio=[::1]:10726/2 audio=::1/2 audio=[::1]:11690/2 audio=[::1]:7576/2 # << ok 210 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794d0b0a8) REQ(INVITE) SDP: audio=[::1]:10726/2 audio=::1/2 audio=[::1]:11690/2 audio=[::1]:7576/2 # << ok 211 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 212 - outgoing on UAC must be the same as incoming on proxy ok 213 - outgoing on proxy must be the same as incoming on UAS ok 214 - allocated addr:port must be different ([::1]:6504|[::1]:10726) ok 215 - ranges must stay the same # uas >> O> [::1]:44345 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 216 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP [::1]:45581;branch=z9hG4bKb88bd7cfcd269c0959f040a0f14fcbfb0135bced0da51e0f7f9a1712dfbe3b # Record-route: # Via: SIP/2.0/TCP [::1]:46033;branch=z9hG4bKa28e7282e84d58cc950b3e0450e275510135bced0da51e00df42ad55f9d1c6 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP [::1]:52769;branch=z9hG4bK7414ceedc57eefcb973bcc06907da8c50135bced0da51e0543014897c06eb1 # Call-id: 9d4213eef762a558f200db88fa632e7c # Cseq: 1 INVITE # From: me.uac@example.com;tag=955564572e49dab0d17f77e70be4b693 # Content-type: application/sdp # Max-forwards: 69 # Contact: sip:bWEWAODKK5CPQQX3GBNT5LMGHJX4WPS2OHAJ7ECVYRERPZCG4@[::1]:45581 # Content-length: 178 # To: you.uas@example.com;tag=9d4020b8f56693fd834a1ff9624e2018 # # v=0 # o=anonymous 1541795286 1541795286 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 10726 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 11690 RTP/AVP 0 # m=audio 7576 RTP/AVP 0 # << ok 217 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:45581\;) ok 218 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:52769\;) # uac >> I< HASH(0x55a794d16bd0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794d17758) RSP(INVITE,200) SDP: audio=[::1]:8794/2 audio=[::1]:6888/2 audio=::1/2 audio=[::1]:6018/2 # << # uac >> O> [::1]:46033 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:46033 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794d175a8) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 219 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:44345 RSP(INVITE,200) SDP: audio=[::1]:5864/2 audio=[::1]:6534/2 audio=::1/2 audio=[::1]:3974/2 # I< HASH(0x55a794d174e8) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794d0a490) REQ(BYE) NO SDP # O> [::1]:44345 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 220 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport tcp remote-nat # UAS on [::1]:48161 # UAC on [::1]:41607 # PROXY on [::1]:49861 [::1]:33105 # nathelper >> OK # << ok 221 - [nathelper] OK # proxy >> OK # << ok 222 - [proxy] OK # uas >> OK # << ok 223 - [uas] OK # proxy >> ready # << ok 224 - [proxy] ready # uas >> ready # << ok 225 - [uas] ready # uac >> OK # << ok 226 - [uac] OK # uac >> ready # << ok 227 - [uac] ready # uac >> O> [::1]:49861 REQ(INVITE) SDP: audio=[::1]:8870/2 audio=::1/2 audio=[::1]:4190/2 audio=[::1]:9374/2 # << ok 228 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a794d08c68) REQ(INVITE) SDP: audio=[::1]:8870/2 audio=::1/2 audio=[::1]:4190/2 audio=[::1]:9374/2 # << ok 229 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:48161 REQ(INVITE) SDP: audio=[::1]:2908/2 audio=::1/2 audio=[::1]:8878/2 audio=[::1]:8534/2 # << ok 230 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a794d0f438) REQ(INVITE) SDP: audio=[::1]:2908/2 audio=::1/2 audio=[::1]:8878/2 audio=[::1]:8534/2 # << ok 231 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 232 - outgoing on UAC must be the same as incoming on proxy ok 233 - outgoing on proxy must be the same as incoming on UAS ok 234 - allocated addr:port must be different ([::1]:8870|[::1]:2908) ok 235 - ranges must stay the same # uas >> O> [::1]:38063 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 236 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TCP [::1]:33105;branch=z9hG4bK33ec69f231e3eec16e17265aefcd1a3a3ad7183c4a777f2a235a50989c3a62 # Record-route: # Via: SIP/2.0/TCP [::1]:49861;branch=z9hG4bK92a7ac384ded8aade999eef3e314d59c3ad7183c4a777f2a56735eeb91e7dc # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TCP [::1]:41607;branch=z9hG4bK4d7c9276b7d214e047df9ef2e2f53b203ad7183c4a777f231b0628a493dc01 # Call-id: bce7f6be6692c81e553160f7879038fb # Cseq: 1 INVITE # From: me.uac@example.com;tag=94e581201c1009d4fb9c71365a5ef4b7 # Content-type: application/sdp # Content-length: 176 # Max-forwards: 69 # Contact: sip:bO4NK54ERTO6AHA3ZDIIYUQW6I4CRUD4U5S7SXDNLMLUGAYHN@[::1]:33105 # To: you.uas@example.com;tag=012adad34506a5ec418d55827074519a # # v=0 # o=anonymous 1541795286 1541795286 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 2908 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 8878 RTP/AVP 0 # m=audio 8534 RTP/AVP 0 # << ok 237 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:33105\;) ok 238 - [uas] (?^i:via\:\ SIP\/2\.0\/tcp\ \[\:\:1\]\:41607\;) # uac >> I< HASH(0x55a794d1ae40) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a794d1b9c8) RSP(INVITE,200) SDP: audio=[::1]:4302/2 audio=[::1]:8570/2 audio=::1/2 audio=[::1]:4764/2 # << # uac >> O> [::1]:49861 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:49861 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a794d1b818) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 239 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:38063 RSP(INVITE,200) SDP: audio=[::1]:6512/2 audio=[::1]:10100/2 audio=::1/2 audio=[::1]:6622/2 # I< HASH(0x55a794d1b588) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a794d0e7f0) REQ(BYE) NO SDP # O> [::1]:38063 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 240 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport tls no-nat # UAS on 127.0.0.1:42143 # UAC on 127.0.0.1:43419 # PROXY on 127.0.0.1:48983 127.0.0.1:41083 ok 241 - no fork nathelper # proxy >> OK # << ok 242 - [proxy] OK # uas >> OK # << ok 243 - [uas] OK # proxy >> ready # << ok 244 - [proxy] ready # uas >> ready # << ok 245 - [uas] ready # uac >> OK # << ok 246 - [uac] OK # uac >> ready # << ok 247 - [uac] ready # uac >> O> 127.0.0.1:48983 REQ(INVITE) SDP: audio=127.0.0.1:9878/2 audio=127.0.0.1/2 audio=127.0.0.1:10782/2 audio=127.0.0.1:4002/2 # << ok 248 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a79500eb10) REQ(INVITE) SDP: audio=127.0.0.1:9878/2 audio=127.0.0.1/2 audio=127.0.0.1:10782/2 audio=127.0.0.1:4002/2 # << ok 249 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:42143 REQ(INVITE) SDP: audio=127.0.0.1:9878/2 audio=127.0.0.1/2 audio=127.0.0.1:10782/2 audio=127.0.0.1:4002/2 # << ok 250 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a795015e08) REQ(INVITE) SDP: audio=127.0.0.1:9878/2 audio=127.0.0.1/2 audio=127.0.0.1:10782/2 audio=127.0.0.1:4002/2 # << ok 251 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 252 - outgoing on UAC must be the same as incoming on proxy ok 253 - outgoing on proxy must be the same as incoming on UAS ok 254 - SDP must pass unchanged to UAS ok 255 - dummy # uas >> O> 127.0.0.1:33761 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 256 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS 127.0.0.1:41083;branch=z9hG4bKafecaa6a00621a7b407faefb49d50ede77129fdb1a906679cf9eb989b03e53 # Record-route: # Via: SIP/2.0/TLS 127.0.0.1:48983;branch=z9hG4bKe6d8a92854b5606233bddf23f9dc525677129fdb1a90667cad34f228bd33fc # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS 127.0.0.1:43419;branch=z9hG4bKa3a7593034c620d59e52bf9fd8ee934977129fdb1a90667535352526abbd37 # Call-id: a3b8c2327f8419f55412e95b30b1427a # Cseq: 1 INVITE # From: me.uac@example.com;tag=a1d3df260d1336e66674bb1fe1b5de72 # Content-type: application/sdp # Content-length: 189 # Max-forwards: 69 # Contact: sips:bYVIQI3675EYWQ65Z3EWLBXGOXKPDNMB5TUGI26GGBL6JIE4IYJ7AVWI@127.0.0.1:41083 # To: you.uas@example.com;tag=a6068ff6c59fdce4a2c4b957095087d1 # # v=0 # o=anonymous 1541795287 1541795287 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 9878 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 10782 RTP/AVP 0 # m=audio 4002 RTP/AVP 0 # << ok 257 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:41083\;) ok 258 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:43419\;) # uac >> I< HASH(0x55a795021508) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a795026198) RSP(INVITE,200) SDP: audio=127.0.0.1:10210/2 audio=127.0.0.1:6674/2 audio=127.0.0.1/2 audio=127.0.0.1:6702/2 # << # uac >> O> 127.0.0.1:48983 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:48983 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a795026000) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 259 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:33761 RSP(INVITE,200) SDP: audio=127.0.0.1:10210/2 audio=127.0.0.1:6674/2 audio=127.0.0.1/2 audio=127.0.0.1:6702/2 # I< HASH(0x55a795034428) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a7950120c8) REQ(BYE) NO SDP # O> 127.0.0.1:33761 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 260 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport tls inline-nat # UAS on 127.0.0.1:52263 # UAC on 127.0.0.1:53055 # PROXY on 127.0.0.1:48315 127.0.0.1:53711 ok 261 - no fork nathelper # proxy >> OK # << ok 262 - [proxy] OK # uas >> OK # << ok 263 - [uas] OK # proxy >> ready # << ok 264 - [proxy] ready # uas >> ready # << ok 265 - [uas] ready # uac >> OK # << ok 266 - [uac] OK # uac >> ready # << ok 267 - [uac] ready # uac >> O> 127.0.0.1:48315 REQ(INVITE) SDP: audio=127.0.0.1:9878/2 audio=127.0.0.1/2 audio=127.0.0.1:10782/2 audio=127.0.0.1:4002/2 # << ok 268 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a795014b50) REQ(INVITE) SDP: audio=127.0.0.1:9878/2 audio=127.0.0.1/2 audio=127.0.0.1:10782/2 audio=127.0.0.1:4002/2 # << ok 269 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:52263 REQ(INVITE) SDP: audio=127.0.0.1:2826/2 audio=127.0.0.1/2 audio=127.0.0.1:5656/2 audio=127.0.0.1:8534/2 # << ok 270 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a79501ae40) REQ(INVITE) SDP: audio=127.0.0.1:2826/2 audio=127.0.0.1/2 audio=127.0.0.1:5656/2 audio=127.0.0.1:8534/2 # << ok 271 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 272 - outgoing on UAC must be the same as incoming on proxy ok 273 - outgoing on proxy must be the same as incoming on UAS ok 274 - allocated addr:port must be different (127.0.0.1:9878|127.0.0.1:2826) ok 275 - ranges must stay the same # uas >> O> 127.0.0.1:40423 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 276 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS 127.0.0.1:53711;branch=z9hG4bK0c2bd1c06ff7f26f936ff3884bdf0b22cb8fd8dd9b759803a1791a53c3dffa # Record-route: # Via: SIP/2.0/TLS 127.0.0.1:48315;branch=z9hG4bK85652e92b4d29c50c0d93c777453c08fcb8fd8dd9b7598095cf38bc1019f9f # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS 127.0.0.1:53055;branch=z9hG4bKd1f11fea66030006aa7e1baf122dd34ecb8fd8dd9b75980a9ab5dac3deb235 # Call-id: cb5295c2f562d6569273d48f57f91efb # Cseq: 1 INVITE # From: me.uac@example.com;tag=16960bcab8beebdbee6c4b34496120da # Content-type: application/sdp # Max-forwards: 69 # Contact: sips:bYVIQI3675EYWQ65Z3EWLBXGOXKPDNMB5TUGI26GGBP6JAF4EKRCWVLA@127.0.0.1:53711 # Content-length: 188 # To: you.uas@example.com;tag=f352b80f92c0dfaf83bd997258ebd7f1 # # v=0 # o=anonymous 1541795288 1541795288 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 2826 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 5656 RTP/AVP 0 # m=audio 8534 RTP/AVP 0 # << ok 277 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:53711\;) ok 278 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:53055\;) # uac >> I< HASH(0x55a795023f30) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a795029ed0) RSP(INVITE,200) SDP: audio=127.0.0.1:8496/2 audio=127.0.0.1:4412/2 audio=127.0.0.1/2 audio=127.0.0.1:4222/2 # << # uac >> O> 127.0.0.1:48315 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:48315 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a795029d20) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 279 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:40423 RSP(INVITE,200) SDP: audio=127.0.0.1:10210/2 audio=127.0.0.1:6674/2 audio=127.0.0.1/2 audio=127.0.0.1:6702/2 # I< HASH(0x55a795037f40) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a795016b20) REQ(BYE) NO SDP # O> 127.0.0.1:40423 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 280 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip4 transport tls remote-nat # UAS on 127.0.0.1:35895 # UAC on 127.0.0.1:35251 # PROXY on 127.0.0.1:53729 127.0.0.1:49571 # nathelper >> OK # << ok 281 - [nathelper] OK # proxy >> OK # << ok 282 - [proxy] OK # uas >> OK # << ok 283 - [uas] OK # proxy >> ready # << ok 284 - [proxy] ready # uas >> ready # << ok 285 - [uas] ready # uac >> OK # << ok 286 - [uac] OK # uac >> ready # << ok 287 - [uac] ready # uac >> O> 127.0.0.1:53729 REQ(INVITE) SDP: audio=127.0.0.1:9878/2 audio=127.0.0.1/2 audio=127.0.0.1:10782/2 audio=127.0.0.1:4002/2 # << ok 288 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a795024768) REQ(INVITE) SDP: audio=127.0.0.1:9878/2 audio=127.0.0.1/2 audio=127.0.0.1:10782/2 audio=127.0.0.1:4002/2 # << ok 289 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> 127.0.0.1:35895 REQ(INVITE) SDP: audio=127.0.0.1:7212/2 audio=127.0.0.1/2 audio=127.0.0.1:5196/2 audio=127.0.0.1:6620/2 # << ok 290 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a79501d990) REQ(INVITE) SDP: audio=127.0.0.1:7212/2 audio=127.0.0.1/2 audio=127.0.0.1:5196/2 audio=127.0.0.1:6620/2 # << ok 291 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 292 - outgoing on UAC must be the same as incoming on proxy ok 293 - outgoing on proxy must be the same as incoming on UAS ok 294 - allocated addr:port must be different (127.0.0.1:9878|127.0.0.1:7212) ok 295 - ranges must stay the same # uas >> O> 127.0.0.1:40053 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 296 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS 127.0.0.1:49571;branch=z9hG4bK041b443ad3860db8638a981db3dec6c2db6028109d52f7648a7b7d4cfc48b2 # Record-route: # Via: SIP/2.0/TLS 127.0.0.1:53729;branch=z9hG4bK30b66f446624596e839e4b249a972dcadb6028109d52f76d2a5e953c14ea91 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS 127.0.0.1:35251;branch=z9hG4bKb8bc709296765e689f397da9144114e1db6028109d52f76b8fbe4fe584be73 # Call-id: 3d56ed028addb4e3378c36c2fbae8168 # Cseq: 1 INVITE # From: me.uac@example.com;tag=49d2128d5e03e4ab20522af25f567962 # Content-type: application/sdp # Max-forwards: 69 # Contact: sips:bYVIQI3675EYWQ65Z3EWLBXGOXKPDNMB5TUGI26GGBX5JEF4ARGKI6OY@127.0.0.1:49571 # Content-length: 188 # To: you.uas@example.com;tag=f25e0451e38695c7f9da51a8aef451c3 # # v=0 # o=anonymous 1541795289 1541795289 IN IP4 127.0.0.1 # s=session # c=IN IP4 127.0.0.1 # t=0 0 # m=audio 7212 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 5196 RTP/AVP 0 # m=audio 6620 RTP/AVP 0 # << ok 297 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:49571\;) ok 298 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ 127\.0\.0\.1\:35251\;) # uac >> I< HASH(0x55a7950282d0) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a79502efb0) RSP(INVITE,200) SDP: audio=127.0.0.1:8062/2 audio=127.0.0.1:5264/2 audio=127.0.0.1/2 audio=127.0.0.1:4810/2 # << # uac >> O> 127.0.0.1:53729 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> 127.0.0.1:53729 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a79502ed40) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 299 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> 127.0.0.1:40053 RSP(INVITE,200) SDP: audio=127.0.0.1:10210/2 audio=127.0.0.1:6674/2 audio=127.0.0.1/2 audio=127.0.0.1:6702/2 # I< HASH(0x55a79503b600) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a79501ae58) REQ(BYE) NO SDP # O> 127.0.0.1:40053 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 300 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport tls no-nat # UAS on [::1]:36003 # UAC on [::1]:46933 # PROXY on [::1]:48715 [::1]:42835 ok 301 - no fork nathelper # proxy >> OK # << ok 302 - [proxy] OK # uas >> OK # << ok 303 - [uas] OK # proxy >> ready # << ok 304 - [proxy] ready # uas >> ready # << ok 305 - [uas] ready # uac >> OK # << ok 306 - [uac] OK # uac >> ready # << ok 307 - [uac] ready # uac >> O> [::1]:48715 REQ(INVITE) SDP: audio=[::1]:9878/2 audio=::1/2 audio=[::1]:10782/2 audio=[::1]:4002/2 # << ok 308 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a79501a430) REQ(INVITE) SDP: audio=[::1]:9878/2 audio=::1/2 audio=[::1]:10782/2 audio=[::1]:4002/2 # << ok 309 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:36003 REQ(INVITE) SDP: audio=[::1]:9878/2 audio=::1/2 audio=[::1]:10782/2 audio=[::1]:4002/2 # << ok 310 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a7950229a0) REQ(INVITE) SDP: audio=[::1]:9878/2 audio=::1/2 audio=[::1]:10782/2 audio=[::1]:4002/2 # << ok 311 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 312 - outgoing on UAC must be the same as incoming on proxy ok 313 - outgoing on proxy must be the same as incoming on UAS ok 314 - SDP must pass unchanged to UAS ok 315 - dummy # uas >> O> [::1]:38377 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 316 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS [::1]:42835;branch=z9hG4bK492a257166096f8dc60838af034416b4db6028109d52f76625fc612ff73e7b # Record-route: # Via: SIP/2.0/TLS [::1]:48715;branch=z9hG4bKdda10235ca105c57604dd53d4680ce39db6028109d52f7614b74a589fa8825 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS [::1]:46933;branch=z9hG4bK4013b1419418e18b717a122c5545e68edb6028109d52f76b8fbe4fe584be73 # Call-id: 3d56ed028addb4e3378c36c2fbae8168 # Cseq: 1 INVITE # From: me.uac@example.com;tag=49d2128d5e03e4ab20522af25f567962 # Content-type: application/sdp # Content-length: 177 # Max-forwards: 69 # Contact: sips:bYVIQI3675EYWQ65Z3EWLBXGO2CLDXL2QREEJK4GPBVQGPXNM@[::1]:42835 # To: you.uas@example.com;tag=f25e0451e38695c7f9da51a8aef451c3 # # v=0 # o=anonymous 1541795289 1541795289 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 9878 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 10782 RTP/AVP 0 # m=audio 4002 RTP/AVP 0 # << ok 317 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:42835\;) ok 318 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:46933\;) # uac >> I< HASH(0x55a79502e628) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a795042048) RSP(INVITE,200) SDP: audio=[::1]:10210/2 audio=[::1]:6674/2 audio=::1/2 audio=[::1]:6702/2 # << # uac >> O> [::1]:48715 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:48715 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a79502ebc8) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 319 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:38377 RSP(INVITE,200) SDP: audio=[::1]:10210/2 audio=[::1]:6674/2 audio=::1/2 audio=[::1]:6702/2 # I< HASH(0x55a795032cb8) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a79502e4c8) REQ(BYE) NO SDP # O> [::1]:38377 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 320 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport tls inline-nat # UAS on [::1]:35949 # UAC on [::1]:52171 # PROXY on [::1]:55655 [::1]:51787 ok 321 - no fork nathelper # proxy >> OK # << ok 322 - [proxy] OK # uas >> OK # << ok 323 - [uas] OK # proxy >> ready # << ok 324 - [proxy] ready # uas >> ready # << ok 325 - [uas] ready # uac >> OK # << ok 326 - [uac] OK # uac >> ready # << ok 327 - [uac] ready # uac >> O> [::1]:55655 REQ(INVITE) SDP: audio=[::1]:9878/2 audio=::1/2 audio=[::1]:10782/2 audio=[::1]:4002/2 # << ok 328 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a79501e340) REQ(INVITE) SDP: audio=[::1]:9878/2 audio=::1/2 audio=[::1]:10782/2 audio=[::1]:4002/2 # << ok 329 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:35949 REQ(INVITE) SDP: audio=[::1]:2826/2 audio=::1/2 audio=[::1]:5656/2 audio=[::1]:8534/2 # << ok 330 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a795026518) REQ(INVITE) SDP: audio=[::1]:2826/2 audio=::1/2 audio=[::1]:5656/2 audio=[::1]:8534/2 # << ok 331 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 332 - outgoing on UAC must be the same as incoming on proxy ok 333 - outgoing on proxy must be the same as incoming on UAS ok 334 - allocated addr:port must be different ([::1]:9878|[::1]:2826) ok 335 - ranges must stay the same # uas >> O> [::1]:36613 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 336 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS [::1]:51787;branch=z9hG4bK902bb586a62dd2ea40402f47b253b943cce2bad07fdaa3bc619ff2ef88d868 # Record-route: # Via: SIP/2.0/TLS [::1]:55655;branch=z9hG4bK1c72fe0b5d16b59546ce0c9364ecac73cce2bad07fdaa3ba76676bed084ff2 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS [::1]:52171;branch=z9hG4bKd6d9293379c8b69a671b6815a0051327cce2bad07fdaa3ba41fd3741a040a8 # Call-id: c6cca343f4305b4614da43c679040704 # Cseq: 1 INVITE # From: me.uac@example.com;tag=3c904dbfabaa25b10063be3ebeb2c52d # Content-type: application/sdp # Max-forwards: 69 # Contact: sips:bYVIQI3675EYWQ65Z3EWLBXGO2CLDXL2QREEZC6GLB73W7GZ7@[::1]:51787 # Content-length: 176 # To: you.uas@example.com;tag=4422d8cce33acb91c277452b2e92f273 # # v=0 # o=anonymous 1541795290 1541795290 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 2826 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 5656 RTP/AVP 0 # m=audio 8534 RTP/AVP 0 # << ok 337 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:51787\;) ok 338 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:52171\;) # uac >> I< HASH(0x55a795032a80) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a795047690) RSP(INVITE,200) SDP: audio=[::1]:8496/2 audio=[::1]:4412/2 audio=::1/2 audio=[::1]:4222/2 # << # uac >> O> [::1]:55655 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:55655 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a795033020) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 339 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:36613 RSP(INVITE,200) SDP: audio=[::1]:10210/2 audio=[::1]:6674/2 audio=::1/2 audio=[::1]:6702/2 # I< HASH(0x55a795042e60) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a795023658) REQ(BYE) NO SDP # O> [::1]:36613 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 340 - [uas] Call done (1 0 1 1 -- 1 1 0 1) # ------- test with family ip6 transport tls remote-nat # UAS on [::1]:47675 # UAC on [::1]:47487 # PROXY on [::1]:45827 [::1]:48119 # nathelper >> OK # << ok 341 - [nathelper] OK # proxy >> OK # << ok 342 - [proxy] OK # uas >> OK # << ok 343 - [uas] OK # proxy >> ready # << ok 344 - [proxy] ready # uas >> ready # << ok 345 - [uas] ready # uac >> OK # << ok 346 - [uac] OK # uac >> ready # << ok 347 - [uac] ready # uac >> O> [::1]:45827 REQ(INVITE) SDP: audio=[::1]:9878/2 audio=::1/2 audio=[::1]:10782/2 audio=[::1]:4002/2 # << ok 348 - [uac] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> I< HASH(0x55a7950228e0) REQ(INVITE) SDP: audio=[::1]:9878/2 audio=::1/2 audio=[::1]:10782/2 audio=[::1]:4002/2 # << ok 349 - [proxy] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) # proxy >> O> [::1]:47675 REQ(INVITE) SDP: audio=[::1]:7212/2 audio=::1/2 audio=[::1]:5196/2 audio=[::1]:6620/2 # << ok 350 - [proxy] (?^:O>.*REQ\(INVITE\) SDP: audio=\S+) # uas >> I< HASH(0x55a79502b578) REQ(INVITE) SDP: audio=[::1]:7212/2 audio=::1/2 audio=[::1]:5196/2 audio=[::1]:6620/2 # << ok 351 - [uas] (?^:I<.*REQ\(INVITE\) SDP: audio=\S+) ok 352 - outgoing on UAC must be the same as incoming on proxy ok 353 - outgoing on proxy must be the same as incoming on UAS ok 354 - allocated addr:port must be different ([::1]:9878|[::1]:7212) ok 355 - ranges must stay the same # uas >> O> [::1]:37471 RSP(INVITE,100) NO SDP # << # uas >> call created # << ok 356 - [uas] call created # uas >> INVITE you.uas@example.com SIP/2.0 # Via: SIP/2.0/TLS [::1]:48119;branch=z9hG4bK64df5d9b07c530c68a117407ac0d97e6ce6b5a3b5615bb5a629070b63c167a # Record-route: # Via: SIP/2.0/TLS [::1]:45827;branch=z9hG4bKbc8ad0f8888a7699eefdfebabf5952aace6b5a3b5615bb50ebc3f6f458f2f2 # Record-route: # Supported: # Allow: INVITE, ACK, OPTIONS, CANCEL, BYE # Via: SIP/2.0/TLS [::1]:47487;branch=z9hG4bK529b4a8c3398c606ea3a2f8701b2f4eece6b5a3b5615bb5c545e90856a6820 # Call-id: 2a2470b9549ceaa87884aad1e5fd368a # Cseq: 1 INVITE # From: me.uac@example.com;tag=abc48159bd9c585d1349bec9fec3553e # Content-type: application/sdp # Max-forwards: 69 # Contact: sips:bYVIQI3675EYWQ65Z3EWLBXGO2CLDXL2QREEJI7OEBEMAGIJ3@[::1]:48119 # Content-length: 176 # To: you.uas@example.com;tag=13e16b2c8d80eb89302d3f82d3799a73 # # v=0 # o=anonymous 1541795291 1541795291 IN IP6 ::1 # s=session # c=IN IP6 ::1 # t=0 0 # m=audio 7212 RTP/AVP 0 # m=audio 0 RTP/AVP 0 # m=audio 5196 RTP/AVP 0 # m=audio 6620 RTP/AVP 0 # << ok 357 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:48119\;) ok 358 - [uas] (?^i:via\:\ SIP\/2\.0\/tls\ \[\:\:1\]\:47487\;) # uac >> I< HASH(0x55a795038620) RSP(INVITE,100) NO SDP # << # uac >> I< HASH(0x55a7950391a8) RSP(INVITE,200) SDP: audio=[::1]:8062/2 audio=[::1]:5264/2 audio=::1/2 audio=[::1]:4810/2 # << # uac >> O> [::1]:45827 REQ(ACK) NO SDP # << # uac >> Start RTP # << # uac >> RTP#100# # << # uac >> got rtp packet#100 # << # uac >> Send BYE # << # uac >> O> [::1]:45827 REQ(BYE) NO SDP # << # uac >> I< HASH(0x55a795038ef0) RSP(BYE,200) NO SDP # << # uac >> BYE done (1 1 0 1 -- 1 0 1 1) # << ok 359 - [uac] BYE done (1 1 0 1 -- 1 0 1 1) # uas >> O> [::1]:37471 RSP(INVITE,200) SDP: audio=[::1]:10210/2 audio=[::1]:6674/2 audio=::1/2 audio=[::1]:6702/2 # I< HASH(0x55a79503e5f0) REQ(ACK) NO SDP # call established # Start RTP # RTP#100# # I< HASH(0x55a795028648) REQ(BYE) NO SDP # O> [::1]:37471 RSP(BYE,200) NO SDP # Call done (1 0 1 1 -- 1 1 0 1) # << ok 360 - [uas] Call done (1 0 1 1 -- 1 1 0 1) ok All tests successful. Files=19, Tests=1459, 219 wallclock secs ( 0.59 usr 0.06 sys + 19.65 cusr 3.78 csys = 24.08 CPU) Result: PASS