├── .classpath
├── .gitignore
├── .project
├── LICENSE
├── README
├── README-DISTRIBUTION
├── TODO.txt
├── ant-build-config.properties
├── ant-tasks
├── build.xml
├── lib
│ ├── ant.jar
│ ├── jdom.jar
│ └── maven-repository-importer-1.2.jar
└── src
│ └── net
│ └── java
│ └── jsip
│ └── ant
│ └── tasks
│ └── VersionerTask.java
├── build.xml
├── codefmt.xml
├── contributing.txt
├── docs
├── back.gif
├── faq.html
├── get_java_red_button.gif
├── index.html
├── javanet_button_170.gif
├── nist-sip.gif
├── tools
│ └── tracesviewer
│ │ ├── README.html
│ │ └── images
│ │ ├── back.gif
│ │ └── visualizer-pic.jpg
├── uml
│ ├── jain-sip.mdr
│ ├── jain-sip.xml.zip
│ └── udp-request-processing-sequence-diagram.jpg
└── uncopyright.html
├── how-to-run-the-tck.txt
├── javax
└── sip
│ └── jain-sip-ri
│ ├── 1.2
│ ├── jain-sip-ri-1.2.jar
│ ├── jain-sip-ri-1.2.jar.md5
│ ├── jain-sip-ri-1.2.jar.sha1
│ ├── jain-sip-ri-1.2.pom
│ ├── jain-sip-ri-1.2.pom.md5
│ └── jain-sip-ri-1.2.pom.sha1
│ ├── maven-metadata.xml
│ ├── maven-metadata.xml.md5
│ └── maven-metadata.xml.sha1
├── lib
├── README.txt
├── jakarta-regexp-1.3.jar
├── junit-3.8.1.jar
└── log4j-1.2.15.jar
├── licenses
├── ANT-LICENSE.txt
├── JSIP Spec License.pdf
├── LOG4J-LICENSE.txt
├── NIST-CONDITIONS-OF-USE.txt
└── README.txt
├── log4j.properties
├── m2
├── README
├── android-jain-sip-ri
│ └── pom.xml
├── jain-sip-api
│ └── pom.xml
├── jain-sip-ri
│ └── pom.xml
├── jain-sip-sctp
│ └── pom.xml
└── pom.xml
├── manifest.tck
├── manifest.viewer
├── poms
├── api-pom.xml
└── ri-pom.xml
├── repo
└── javax.sip
│ └── poms
│ ├── jain-sip-api-1.2.pom
│ ├── jain-sip-api-1.2.pom.md5
│ ├── jain-sip-ri-1.2-SNAPSHOT.pom
│ ├── jain-sip-ri-1.2-SNAPSHOT.pom.md5
│ ├── jain-sip-ri-1.2.pom
│ └── jain-sip-ri-1.2.pom.md5
├── src
├── examples
│ ├── android
│ │ └── simplecallsetup
│ │ │ ├── README.txt
│ │ │ ├── Shootist.java
│ │ │ └── Shootme.java
│ ├── authorization
│ │ ├── AccountManagerImpl.java
│ │ ├── ShootistAuth.java
│ │ ├── ShootmeAuth.java
│ │ ├── UserCredentialsImpl.java
│ │ └── build.xml
│ ├── busy
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ └── build.xml
│ ├── cancel
│ │ ├── AbstractCancelTest.java
│ │ ├── ProtocolObjects.java
│ │ ├── README.txt
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ ├── TestCancel.java
│ │ ├── TestDelayedCancel.java
│ │ └── build.xml
│ ├── forked
│ │ └── invite
│ │ │ ├── ForkedInviteTest.java
│ │ │ ├── ProtocolObjects.java
│ │ │ ├── Proxy.java
│ │ │ ├── README.txt
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ └── build.xml
│ ├── ims
│ │ ├── README.txt
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ ├── TheShootist.jpg
│ │ └── build.xml
│ ├── nistgoodies
│ │ ├── README.txt
│ │ ├── configlogger
│ │ │ ├── LogRecordFactoryImpl.java
│ │ │ ├── LogRecordImpl.java
│ │ │ ├── README.txt
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ └── build.xml
│ │ ├── leakaudit
│ │ │ ├── LeakAudit.java
│ │ │ ├── LeakingApp.java
│ │ │ └── README.txt
│ │ ├── match
│ │ │ ├── MatchTest.java
│ │ │ ├── README.txt
│ │ │ └── RegexpMatchTest.java
│ │ ├── messagevalve
│ │ │ ├── README.txt
│ │ │ └── SipMessageValve.java
│ │ ├── pluggablelogger
│ │ │ ├── LogRecordFactoryImpl.java
│ │ │ ├── LogRecordImpl.java
│ │ │ ├── README.txt
│ │ │ ├── ServerLoggerImpl.java
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ ├── StackLoggerImpl.java
│ │ │ └── build.xml
│ │ └── threadaudit
│ │ │ ├── README.txt
│ │ │ └── ThreadAudit.java
│ ├── noautodialog
│ │ ├── README.txt
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ └── build.xml
│ ├── parser
│ │ ├── Parser.java
│ │ └── README.txt
│ ├── prack
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ └── build.xml
│ ├── publish
│ │ ├── Notifier.java
│ │ ├── Publisher.java
│ │ └── Subscriber.java
│ ├── redirect
│ │ ├── ProtocolObjects.java
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ └── build.xml
│ ├── refer
│ │ ├── Referee.java
│ │ ├── Referer.java
│ │ └── build.xml
│ ├── reinvite
│ │ ├── ProtocolObjects.java
│ │ ├── README.txt
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ └── build.xml
│ ├── simplecallsetup
│ │ ├── README.txt
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ ├── TheShootist.jpg
│ │ └── build.xml
│ ├── subsnotify
│ │ ├── Forker.java
│ │ ├── Notifier.java
│ │ ├── Subscriber.java
│ │ └── build.xml
│ ├── tls
│ │ ├── HopImpl.java
│ │ ├── MyRouter.java
│ │ ├── README.txt
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ ├── build.xml
│ │ ├── testKeyStore
│ │ └── testkeys
│ ├── tpcc
│ │ ├── Controller.java
│ │ ├── Controller4.java
│ │ ├── Phone.java
│ │ ├── README.txt
│ │ └── build.xml
│ └── websocket
│ │ ├── B2BUA.java
│ │ ├── README.txt
│ │ └── build.xml
├── gov
│ └── nist
│ │ ├── core
│ │ ├── CommonLogger.java
│ │ ├── CommonLoggerLog4j.java
│ │ ├── Debug.java
│ │ ├── DuplicateNameValueList.java
│ │ ├── GenericObject.java
│ │ ├── GenericObjectList.java
│ │ ├── Host.java
│ │ ├── HostNameParser.java
│ │ ├── HostPort.java
│ │ ├── InternalErrorHandler.java
│ │ ├── LexerCore.java
│ │ ├── LogLevels.java
│ │ ├── LogWriter.java
│ │ ├── Match.java
│ │ ├── MultiMap.java
│ │ ├── MultiValueMap.java
│ │ ├── MultiValueMapImpl.java
│ │ ├── NameValue.java
│ │ ├── NameValueList.java
│ │ ├── NamingThreadFactory.java
│ │ ├── PackageNames.java
│ │ ├── ParserCore.java
│ │ ├── Separators.java
│ │ ├── ServerLogger.java
│ │ ├── StackLogger.java
│ │ ├── StringTokenizer.java
│ │ ├── ThreadAuditor.java
│ │ ├── Token.java
│ │ ├── net
│ │ │ ├── AddressResolver.java
│ │ │ ├── DefaultNetworkLayer.java
│ │ │ ├── DefaultSecurityManagerProvider.java
│ │ │ ├── NetworkLayer.java
│ │ │ ├── SecurityManagerProvider.java
│ │ │ ├── SslNetworkLayer.java
│ │ │ └── package.html
│ │ └── package.html
│ │ └── javax
│ │ ├── sdp
│ │ ├── MediaDescriptionImpl.java
│ │ ├── SdpEncoderImpl.java
│ │ ├── SessionDescriptionImpl.java
│ │ ├── TimeDescriptionImpl.java
│ │ ├── fields
│ │ │ ├── AttributeField.java
│ │ │ ├── BandwidthField.java
│ │ │ ├── ConnectionAddress.java
│ │ │ ├── ConnectionField.java
│ │ │ ├── Email.java
│ │ │ ├── EmailAddress.java
│ │ │ ├── EmailField.java
│ │ │ ├── Indentation.java
│ │ │ ├── InformationField.java
│ │ │ ├── KeyField.java
│ │ │ ├── MediaField.java
│ │ │ ├── OriginField.java
│ │ │ ├── PhoneField.java
│ │ │ ├── PreconditionFields.java
│ │ │ ├── ProtoVersionField.java
│ │ │ ├── RepeatField.java
│ │ │ ├── SDPField.java
│ │ │ ├── SDPFieldList.java
│ │ │ ├── SDPFieldNames.java
│ │ │ ├── SDPFormat.java
│ │ │ ├── SDPKeywords.java
│ │ │ ├── SDPObject.java
│ │ │ ├── SDPObjectList.java
│ │ │ ├── SessionNameField.java
│ │ │ ├── TimeField.java
│ │ │ ├── TypedTime.java
│ │ │ ├── URIField.java
│ │ │ ├── ZoneAdjustment.java
│ │ │ ├── ZoneField.java
│ │ │ └── package.html
│ │ ├── package.html
│ │ └── parser
│ │ │ ├── AttributeFieldParser.java
│ │ │ ├── BandwidthFieldParser.java
│ │ │ ├── ConnectionFieldParser.java
│ │ │ ├── EmailFieldParser.java
│ │ │ ├── InformationFieldParser.java
│ │ │ ├── KeyFieldParser.java
│ │ │ ├── Lexer.java
│ │ │ ├── MediaFieldParser.java
│ │ │ ├── OriginFieldParser.java
│ │ │ ├── ParserFactory.java
│ │ │ ├── PhoneFieldParser.java
│ │ │ ├── ProtoVersionFieldParser.java
│ │ │ ├── RepeatFieldParser.java
│ │ │ ├── SDPAnnounceParser.java
│ │ │ ├── SDPParser.java
│ │ │ ├── SessionNameFieldParser.java
│ │ │ ├── TimeFieldParser.java
│ │ │ ├── URIFieldParser.java
│ │ │ └── ZoneFieldParser.java
│ │ └── sip
│ │ ├── ClientTransactionExt.java
│ │ ├── DefaultAddressResolver.java
│ │ ├── DialogExt.java
│ │ ├── DialogFilter.java
│ │ ├── DialogTimeoutEvent.java
│ │ ├── EventScanner.java
│ │ ├── EventWrapper.java
│ │ ├── IOExceptionEventExt.java
│ │ ├── ListeningPointExt.java
│ │ ├── ListeningPointImpl.java
│ │ ├── LogRecord.java
│ │ ├── LogRecordFactory.java
│ │ ├── MergedSystemProperties.java
│ │ ├── NistSipMessageFactoryImpl.java
│ │ ├── RequestEventExt.java
│ │ ├── ResponseEventExt.java
│ │ ├── SIPConstants.java
│ │ ├── ServerTransactionExt.java
│ │ ├── SipListenerExt.java
│ │ ├── SipProviderExt.java
│ │ ├── SipProviderImpl.java
│ │ ├── SipStackExt.java
│ │ ├── SipStackImpl.java
│ │ ├── TlsSecurityPolicy.java
│ │ ├── TransactionExt.java
│ │ ├── Utils.java
│ │ ├── UtilsExt.java
│ │ ├── address
│ │ ├── AddressFactoryEx.java
│ │ ├── AddressFactoryImpl.java
│ │ ├── AddressImpl.java
│ │ ├── Authority.java
│ │ ├── GenericURI.java
│ │ ├── NetObject.java
│ │ ├── NetObjectList.java
│ │ ├── ParameterNames.java
│ │ ├── RouterExt.java
│ │ ├── SipURIExt.java
│ │ ├── SipUri.java
│ │ ├── TelURLImpl.java
│ │ ├── TelephoneNumber.java
│ │ ├── UriDecoder.java
│ │ ├── UserInfo.java
│ │ └── package.html
│ │ ├── clientauthutils
│ │ ├── AccountManager.java
│ │ ├── AuthenticationHelper.java
│ │ ├── AuthenticationHelperImpl.java
│ │ ├── CredentialsCache.java
│ │ ├── DigestServerAuthenticationHelper.java
│ │ ├── MessageDigestAlgorithm.java
│ │ ├── SecureAccountManager.java
│ │ ├── UserCredentialHash.java
│ │ ├── UserCredentials.java
│ │ └── package.html
│ │ ├── header
│ │ ├── Accept.java
│ │ ├── AcceptEncoding.java
│ │ ├── AcceptEncodingList.java
│ │ ├── AcceptLanguage.java
│ │ ├── AcceptLanguageList.java
│ │ ├── AcceptList.java
│ │ ├── AddressParameters.java
│ │ ├── AddressParametersHeader.java
│ │ ├── AlertInfo.java
│ │ ├── AlertInfoList.java
│ │ ├── Allow.java
│ │ ├── AllowEvents.java
│ │ ├── AllowEventsList.java
│ │ ├── AllowList.java
│ │ ├── AuthenticationHeader.java
│ │ ├── AuthenticationInfo.java
│ │ ├── AuthenticationInfoList.java
│ │ ├── Authorization.java
│ │ ├── AuthorizationList.java
│ │ ├── CSeq.java
│ │ ├── CallID.java
│ │ ├── CallIdentifier.java
│ │ ├── CallInfo.java
│ │ ├── CallInfoList.java
│ │ ├── Challenge.java
│ │ ├── Contact.java
│ │ ├── ContactList.java
│ │ ├── ContentDisposition.java
│ │ ├── ContentEncoding.java
│ │ ├── ContentEncodingList.java
│ │ ├── ContentLanguage.java
│ │ ├── ContentLanguageList.java
│ │ ├── ContentLength.java
│ │ ├── ContentType.java
│ │ ├── Credentials.java
│ │ ├── ErrorInfo.java
│ │ ├── ErrorInfoList.java
│ │ ├── Event.java
│ │ ├── Expires.java
│ │ ├── ExtensionHeaderImpl.java
│ │ ├── ExtensionHeaderList.java
│ │ ├── From.java
│ │ ├── HeaderExt.java
│ │ ├── HeaderFactoryExt.java
│ │ ├── HeaderFactoryImpl.java
│ │ ├── InReplyTo.java
│ │ ├── InReplyToList.java
│ │ ├── Indentation.java
│ │ ├── MaxForwards.java
│ │ ├── MediaRange.java
│ │ ├── MimeVersion.java
│ │ ├── MinExpires.java
│ │ ├── NameMap.java
│ │ ├── Organization.java
│ │ ├── ParameterNames.java
│ │ ├── ParametersExt.java
│ │ ├── ParametersHeader.java
│ │ ├── Priority.java
│ │ ├── Protocol.java
│ │ ├── ProxyAuthenticate.java
│ │ ├── ProxyAuthenticateList.java
│ │ ├── ProxyAuthorization.java
│ │ ├── ProxyAuthorizationList.java
│ │ ├── ProxyRequire.java
│ │ ├── ProxyRequireList.java
│ │ ├── RAck.java
│ │ ├── RSeq.java
│ │ ├── Reason.java
│ │ ├── ReasonList.java
│ │ ├── RecordRoute.java
│ │ ├── RecordRouteList.java
│ │ ├── ReferTo.java
│ │ ├── ReplyTo.java
│ │ ├── RequestLine.java
│ │ ├── Require.java
│ │ ├── RequireList.java
│ │ ├── RetryAfter.java
│ │ ├── Route.java
│ │ ├── RouteList.java
│ │ ├── SIPDate.java
│ │ ├── SIPDateHeader.java
│ │ ├── SIPETag.java
│ │ ├── SIPHeader.java
│ │ ├── SIPHeaderList.java
│ │ ├── SIPHeaderNames.java
│ │ ├── SIPHeaderNamesCache.java
│ │ ├── SIPIfMatch.java
│ │ ├── SIPObject.java
│ │ ├── SIPObjectList.java
│ │ ├── Server.java
│ │ ├── SipRequestLine.java
│ │ ├── SipStatusLine.java
│ │ ├── StatusLine.java
│ │ ├── Subject.java
│ │ ├── SubscriptionState.java
│ │ ├── Supported.java
│ │ ├── SupportedList.java
│ │ ├── TimeStamp.java
│ │ ├── To.java
│ │ ├── Unsupported.java
│ │ ├── UnsupportedList.java
│ │ ├── UserAgent.java
│ │ ├── Via.java
│ │ ├── ViaHeaderExt.java
│ │ ├── ViaList.java
│ │ ├── WWWAuthenticate.java
│ │ ├── WWWAuthenticateList.java
│ │ ├── Warning.java
│ │ ├── WarningList.java
│ │ ├── extensions
│ │ │ ├── Join.java
│ │ │ ├── JoinHeader.java
│ │ │ ├── MinSE.java
│ │ │ ├── MinSEHeader.java
│ │ │ ├── References.java
│ │ │ ├── ReferencesHeader.java
│ │ │ ├── ReferredBy.java
│ │ │ ├── ReferredByHeader.java
│ │ │ ├── Replaces.java
│ │ │ ├── ReplacesHeader.java
│ │ │ ├── SessionExpires.java
│ │ │ └── SessionExpiresHeader.java
│ │ ├── ims
│ │ │ ├── AddressHeaderIms.java
│ │ │ ├── AuthorizationHeaderIms.java
│ │ │ ├── PAccessNetworkInfo.java
│ │ │ ├── PAccessNetworkInfoHeader.java
│ │ │ ├── PAccessNetworkInfoList.java
│ │ │ ├── PAssertedIdentity.java
│ │ │ ├── PAssertedIdentityHeader.java
│ │ │ ├── PAssertedIdentityList.java
│ │ │ ├── PAssertedService.java
│ │ │ ├── PAssertedServiceHeader.java
│ │ │ ├── PAssociatedURI.java
│ │ │ ├── PAssociatedURIHeader.java
│ │ │ ├── PAssociatedURIList.java
│ │ │ ├── PCalledPartyID.java
│ │ │ ├── PCalledPartyIDHeader.java
│ │ │ ├── PChargingFunctionAddresses.java
│ │ │ ├── PChargingFunctionAddressesHeader.java
│ │ │ ├── PChargingVector.java
│ │ │ ├── PChargingVectorHeader.java
│ │ │ ├── PMediaAuthorization.java
│ │ │ ├── PMediaAuthorizationHeader.java
│ │ │ ├── PMediaAuthorizationList.java
│ │ │ ├── PPreferredIdentity.java
│ │ │ ├── PPreferredIdentityHeader.java
│ │ │ ├── PPreferredService.java
│ │ │ ├── PPreferredServiceHeader.java
│ │ │ ├── PProfileKey.java
│ │ │ ├── PProfileKeyHeader.java
│ │ │ ├── PServedUser.java
│ │ │ ├── PServedUserHeader.java
│ │ │ ├── PUserDatabase.java
│ │ │ ├── PUserDatabaseHeader.java
│ │ │ ├── PVisitedNetworkID.java
│ │ │ ├── PVisitedNetworkIDHeader.java
│ │ │ ├── PVisitedNetworkIDList.java
│ │ │ ├── ParameterNamesIms.java
│ │ │ ├── Path.java
│ │ │ ├── PathHeader.java
│ │ │ ├── PathList.java
│ │ │ ├── Privacy.java
│ │ │ ├── PrivacyHeader.java
│ │ │ ├── PrivacyList.java
│ │ │ ├── SIPHeaderNamesIms.java
│ │ │ ├── SecurityAgree.java
│ │ │ ├── SecurityAgreeHeader.java
│ │ │ ├── SecurityClient.java
│ │ │ ├── SecurityClientHeader.java
│ │ │ ├── SecurityClientList.java
│ │ │ ├── SecurityServer.java
│ │ │ ├── SecurityServerHeader.java
│ │ │ ├── SecurityServerList.java
│ │ │ ├── SecurityVerify.java
│ │ │ ├── SecurityVerifyHeader.java
│ │ │ ├── SecurityVerifyList.java
│ │ │ ├── ServiceRoute.java
│ │ │ ├── ServiceRouteHeader.java
│ │ │ ├── ServiceRouteList.java
│ │ │ ├── WWWAuthenticateHeaderIms.java
│ │ │ └── package.html
│ │ └── package.html
│ │ ├── message
│ │ ├── Content.java
│ │ ├── ContentImpl.java
│ │ ├── HeaderIterator.java
│ │ ├── ListMap.java
│ │ ├── MessageExt.java
│ │ ├── MessageFactoryExt.java
│ │ ├── MessageFactoryImpl.java
│ │ ├── MessageObject.java
│ │ ├── MultipartMimeContent.java
│ │ ├── MultipartMimeContentImpl.java
│ │ ├── RequestExt.java
│ │ ├── ResponseExt.java
│ │ ├── SIPDuplicateHeaderException.java
│ │ ├── SIPMessage.java
│ │ ├── SIPRequest.java
│ │ ├── SIPResponse.java
│ │ └── package.html
│ │ ├── package.html
│ │ ├── parser
│ │ ├── AcceptEncodingParser.java
│ │ ├── AcceptLanguageParser.java
│ │ ├── AcceptParser.java
│ │ ├── AddressParametersParser.java
│ │ ├── AddressParser.java
│ │ ├── AlertInfoParser.java
│ │ ├── AllowEventsParser.java
│ │ ├── AllowParser.java
│ │ ├── AuthenticationInfoParser.java
│ │ ├── AuthorizationParser.java
│ │ ├── CSeqParser.java
│ │ ├── CallIDParser.java
│ │ ├── CallInfoParser.java
│ │ ├── ChallengeParser.java
│ │ ├── ContactParser.java
│ │ ├── ContentDispositionParser.java
│ │ ├── ContentEncodingParser.java
│ │ ├── ContentLanguageParser.java
│ │ ├── ContentLengthParser.java
│ │ ├── ContentTypeParser.java
│ │ ├── DateParser.java
│ │ ├── ErrorInfoParser.java
│ │ ├── EventParser.java
│ │ ├── ExpiresParser.java
│ │ ├── FromParser.java
│ │ ├── HeaderParser.java
│ │ ├── InReplyToParser.java
│ │ ├── Lexer.java
│ │ ├── MaxForwardsParser.java
│ │ ├── MessageParser.java
│ │ ├── MessageParserFactory.java
│ │ ├── MimeVersionParser.java
│ │ ├── MinExpiresParser.java
│ │ ├── NioPipelineParser.java
│ │ ├── OrganizationParser.java
│ │ ├── ParametersParser.java
│ │ ├── ParseExceptionListener.java
│ │ ├── Parser.java
│ │ ├── ParserFactory.java
│ │ ├── Pipeline.java
│ │ ├── PipelinedMsgParser.java
│ │ ├── PostParseExecutorServices.java
│ │ ├── PriorityParser.java
│ │ ├── ProxyAuthenticateParser.java
│ │ ├── ProxyAuthorizationParser.java
│ │ ├── ProxyRequireParser.java
│ │ ├── RAckParser.java
│ │ ├── RSeqParser.java
│ │ ├── ReasonParser.java
│ │ ├── RecordRouteParser.java
│ │ ├── ReferToParser.java
│ │ ├── ReplyToParser.java
│ │ ├── RequestLineParser.java
│ │ ├── RequireParser.java
│ │ ├── RetryAfterParser.java
│ │ ├── RouteParser.java
│ │ ├── SIPETagParser.java
│ │ ├── SIPIfMatchParser.java
│ │ ├── SIPMessageListener.java
│ │ ├── ServerParser.java
│ │ ├── StatusLineParser.java
│ │ ├── StringMsgParser.java
│ │ ├── StringMsgParserFactory.java
│ │ ├── SubjectParser.java
│ │ ├── SubscriptionStateParser.java
│ │ ├── SupportedParser.java
│ │ ├── TimeStampParser.java
│ │ ├── ToParser.java
│ │ ├── TokenNames.java
│ │ ├── TokenTypes.java
│ │ ├── URLParser.java
│ │ ├── UnsupportedParser.java
│ │ ├── UserAgentParser.java
│ │ ├── ViaParser.java
│ │ ├── WWWAuthenticateParser.java
│ │ ├── WarningParser.java
│ │ ├── extensions
│ │ │ ├── JoinParser.java
│ │ │ ├── MinSEParser.java
│ │ │ ├── ReferencesParser.java
│ │ │ ├── ReferredByParser.java
│ │ │ ├── ReplacesParser.java
│ │ │ └── SessionExpiresParser.java
│ │ ├── ims
│ │ │ ├── AddressHeaderParser.java
│ │ │ ├── PAccessNetworkInfoParser.java
│ │ │ ├── PAssertedIdentityParser.java
│ │ │ ├── PAssertedServiceParser.java
│ │ │ ├── PAssociatedURIParser.java
│ │ │ ├── PCalledPartyIDParser.java
│ │ │ ├── PChargingFunctionAddressesParser.java
│ │ │ ├── PChargingVectorParser.java
│ │ │ ├── PMediaAuthorizationParser.java
│ │ │ ├── PPreferredIdentityParser.java
│ │ │ ├── PPreferredServiceParser.java
│ │ │ ├── PProfileKeyParser.java
│ │ │ ├── PServedUserParser.java
│ │ │ ├── PUserDatabaseParser.java
│ │ │ ├── PVisitedNetworkIDParser.java
│ │ │ ├── PathParser.java
│ │ │ ├── PrivacyParser.java
│ │ │ ├── SecurityAgreeParser.java
│ │ │ ├── SecurityClientParser.java
│ │ │ ├── SecurityServerParser.java
│ │ │ ├── SecurityVerifyParser.java
│ │ │ ├── ServiceRouteParser.java
│ │ │ ├── TokenNamesIms.java
│ │ │ └── package.html
│ │ └── package.html
│ │ └── stack
│ │ ├── AckSendingStrategy.java
│ │ ├── Base64Coder.java
│ │ ├── BlockingQueueDispatchAuditor.java
│ │ ├── ByteBufferFactory.java
│ │ ├── CallAnalysisInterceptor.java
│ │ ├── CallAnalyzer.java
│ │ ├── ClientAuthType.java
│ │ ├── CongestionControlMessageValve.java
│ │ ├── ConnectionOrientedMessageChannel.java
│ │ ├── ConnectionOrientedMessageProcessor.java
│ │ ├── DatagramQueuedMessageDispatch.java
│ │ ├── DefaultMessageLogFactory.java
│ │ ├── DefaultRouter.java
│ │ ├── DefaultTlsSecurityPolicy.java
│ │ ├── HandshakeCompletedListenerImpl.java
│ │ ├── HopImpl.java
│ │ ├── IOHandler.java
│ │ ├── IllegalTransactionStateException.java
│ │ ├── KeyedSemaphore.java
│ │ ├── MessageChannel.java
│ │ ├── MessageLog.java
│ │ ├── MessageProcessor.java
│ │ ├── MessageProcessorFactory.java
│ │ ├── MultiPipelineExecutor.java
│ │ ├── NIOHandler.java
│ │ ├── NioMessageProcessorFactory.java
│ │ ├── NioTcpMessageChannel.java
│ │ ├── NioTcpMessageProcessor.java
│ │ ├── NioTlsChannelInterface.java
│ │ ├── NioTlsMessageChannel.java
│ │ ├── NioTlsMessageProcessor.java
│ │ ├── NioTlsWebSocketMessageChannel.java
│ │ ├── NioTlsWebSocketMessageProcessor.java
│ │ ├── NioWebSocketMessageChannel.java
│ │ ├── NioWebSocketMessageProcessor.java
│ │ ├── OIOMessageProcessorFactory.java
│ │ ├── QueuedMessageDispatchBase.java
│ │ ├── RawMessageChannel.java
│ │ ├── SIPClientTransaction.java
│ │ ├── SIPClientTransactionImpl.java
│ │ ├── SIPDialog.java
│ │ ├── SIPDialogErrorEvent.java
│ │ ├── SIPDialogEventListener.java
│ │ ├── SIPEventInterceptor.java
│ │ ├── SIPMessageValve.java
│ │ ├── SIPServerTransaction.java
│ │ ├── SIPServerTransactionImpl.java
│ │ ├── SIPStackTimerTask.java
│ │ ├── SIPTransaction.java
│ │ ├── SIPTransactionErrorEvent.java
│ │ ├── SIPTransactionEventListener.java
│ │ ├── SIPTransactionImpl.java
│ │ ├── SIPTransactionStack.java
│ │ ├── SSLStateMachine.java
│ │ ├── ServerLog.java
│ │ ├── ServerRequestInterface.java
│ │ ├── ServerResponseInterface.java
│ │ ├── SocketTimeoutAuditor.java
│ │ ├── StackMessageFactory.java
│ │ ├── TCPMessageChannel.java
│ │ ├── TCPMessageProcessor.java
│ │ ├── TLSMessageChannel.java
│ │ ├── TLSMessageProcessor.java
│ │ ├── UDPMessageChannel.java
│ │ ├── UDPMessageProcessor.java
│ │ ├── WebSocketCodec.java
│ │ ├── WebSocketHttpHandshake.java
│ │ ├── package.html
│ │ ├── sctp
│ │ ├── SCTPMessageChannel.java
│ │ └── SCTPMessageProcessor.java
│ │ └── timers
│ │ ├── DefaultSipTimer.java
│ │ ├── ScheduledExecutorSipTimer.java
│ │ └── SipTimer.java
├── javax
│ ├── sdp
│ │ ├── Attribute.java
│ │ ├── BandWidth.java
│ │ ├── Connection.java
│ │ ├── EMail.java
│ │ ├── Field.java
│ │ ├── Info.java
│ │ ├── Key.java
│ │ ├── Media.java
│ │ ├── MediaDescription.java
│ │ ├── Origin.java
│ │ ├── Phone.java
│ │ ├── RepeatTime.java
│ │ ├── SdpConstants.java
│ │ ├── SdpEncoder.java
│ │ ├── SdpException.java
│ │ ├── SdpFactory.java
│ │ ├── SdpFactoryException.java
│ │ ├── SdpParseException.java
│ │ ├── SessionDescription.java
│ │ ├── SessionName.java
│ │ ├── Time.java
│ │ ├── TimeDescription.java
│ │ ├── TimeZoneAdjustment.java
│ │ ├── URI.java
│ │ ├── Version.java
│ │ └── package.html
│ └── sip
│ │ ├── ClientTransaction.java
│ │ ├── Dialog.java
│ │ ├── DialogDoesNotExistException.java
│ │ ├── DialogState.java
│ │ ├── DialogTerminatedEvent.java
│ │ ├── IOExceptionEvent.java
│ │ ├── InvalidArgumentException.java
│ │ ├── ListeningPoint.java
│ │ ├── ObjectInUseException.java
│ │ ├── PeerUnavailableException.java
│ │ ├── ProviderDoesNotExistException.java
│ │ ├── RequestEvent.java
│ │ ├── ResponseEvent.java
│ │ ├── ServerTransaction.java
│ │ ├── SipException.java
│ │ ├── SipFactory.java
│ │ ├── SipListener.java
│ │ ├── SipProvider.java
│ │ ├── SipStack.java
│ │ ├── Timeout.java
│ │ ├── TimeoutEvent.java
│ │ ├── Transaction.java
│ │ ├── TransactionAlreadyExistsException.java
│ │ ├── TransactionDoesNotExistException.java
│ │ ├── TransactionState.java
│ │ ├── TransactionTerminatedEvent.java
│ │ ├── TransactionUnavailableException.java
│ │ ├── TransportAlreadySupportedException.java
│ │ ├── TransportNotSupportedException.java
│ │ ├── address
│ │ ├── Address.java
│ │ ├── AddressFactory.java
│ │ ├── Hop.java
│ │ ├── Router.java
│ │ ├── SipURI.java
│ │ ├── TelURL.java
│ │ ├── URI.java
│ │ └── package.html
│ │ ├── change-log.html
│ │ ├── copyright.html
│ │ ├── header
│ │ ├── AcceptEncodingHeader.java
│ │ ├── AcceptHeader.java
│ │ ├── AcceptLanguageHeader.java
│ │ ├── AlertInfoHeader.java
│ │ ├── AllowEventsHeader.java
│ │ ├── AllowHeader.java
│ │ ├── AuthenticationInfoHeader.java
│ │ ├── AuthorizationHeader.java
│ │ ├── CSeqHeader.java
│ │ ├── CallIdHeader.java
│ │ ├── CallInfoHeader.java
│ │ ├── ContactHeader.java
│ │ ├── ContentDispositionHeader.java
│ │ ├── ContentEncodingHeader.java
│ │ ├── ContentLanguageHeader.java
│ │ ├── ContentLengthHeader.java
│ │ ├── ContentTypeHeader.java
│ │ ├── DateHeader.java
│ │ ├── Encoding.java
│ │ ├── ErrorInfoHeader.java
│ │ ├── EventHeader.java
│ │ ├── ExpiresHeader.java
│ │ ├── ExtensionHeader.java
│ │ ├── FromHeader.java
│ │ ├── Header.java
│ │ ├── HeaderAddress.java
│ │ ├── HeaderFactory.java
│ │ ├── InReplyToHeader.java
│ │ ├── MaxForwardsHeader.java
│ │ ├── MediaType.java
│ │ ├── MimeVersionHeader.java
│ │ ├── MinExpiresHeader.java
│ │ ├── OptionTag.java
│ │ ├── OrganizationHeader.java
│ │ ├── Parameters.java
│ │ ├── PriorityHeader.java
│ │ ├── ProxyAuthenticateHeader.java
│ │ ├── ProxyAuthorizationHeader.java
│ │ ├── ProxyRequireHeader.java
│ │ ├── RAckHeader.java
│ │ ├── RSeqHeader.java
│ │ ├── ReasonHeader.java
│ │ ├── RecordRouteHeader.java
│ │ ├── ReferToHeader.java
│ │ ├── ReplyToHeader.java
│ │ ├── RequireHeader.java
│ │ ├── RetryAfterHeader.java
│ │ ├── RouteHeader.java
│ │ ├── SIPETagHeader.java
│ │ ├── SIPIfMatchHeader.java
│ │ ├── ServerHeader.java
│ │ ├── SubjectHeader.java
│ │ ├── SubscriptionStateHeader.java
│ │ ├── SupportedHeader.java
│ │ ├── TimeStampHeader.java
│ │ ├── ToHeader.java
│ │ ├── TooManyHopsException.java
│ │ ├── UnsupportedHeader.java
│ │ ├── UserAgentHeader.java
│ │ ├── ViaHeader.java
│ │ ├── WWWAuthenticateHeader.java
│ │ ├── WarningHeader.java
│ │ └── package.html
│ │ ├── message
│ │ ├── Message.java
│ │ ├── MessageFactory.java
│ │ ├── Request.java
│ │ ├── Response.java
│ │ └── package.html
│ │ ├── overview.html
│ │ └── package.html
├── performance
│ ├── b2bua
│ │ ├── Test.java
│ │ ├── TestCall.java
│ │ ├── build.xml
│ │ ├── run_uac_DIALOG.sh
│ │ ├── run_uas_DIALOG.sh
│ │ ├── test.properties
│ │ ├── uac_DIALOG.xml
│ │ └── uas_DIALOG.xml
│ └── uas
│ │ ├── .ant-targets-build.xml
│ │ ├── README.txt
│ │ ├── Shootme.java
│ │ ├── ShootmeDialogAndTxStateless.java
│ │ ├── ShootmeDialogStateless.java
│ │ ├── build.xml
│ │ ├── diff.txt
│ │ ├── download-and-compile-sipp.sh
│ │ ├── performance-test-timer.sh
│ │ ├── performance-test.sh
│ │ ├── performance-uac-timer.xml
│ │ └── performance-uac.xml
├── test
│ ├── gov
│ │ └── nist
│ │ │ └── javax
│ │ │ └── sdp
│ │ │ └── parser
│ │ │ └── SdpParserTest.java
│ ├── load
│ │ ├── concurrency
│ │ │ ├── ProtocolObjects.java
│ │ │ ├── README.txt
│ │ │ ├── SelfTest.java
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ └── build.xml
│ │ ├── leakcheck
│ │ │ └── busy
│ │ │ │ ├── Shootist.java
│ │ │ │ └── Shootme.java
│ │ ├── multidialog
│ │ │ ├── README.txt
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ └── build.xml
│ │ └── subsnotify
│ │ │ ├── Notifier.java
│ │ │ ├── SubsNotify.java
│ │ │ └── Subscriber.java
│ ├── tck
│ │ ├── README
│ │ ├── TckInternalError.java
│ │ ├── TestHarness.java
│ │ ├── TiUnexpectedError.java
│ │ ├── factory
│ │ │ ├── AddressFactoryTest.java
│ │ │ ├── FactoryTestHarness.java
│ │ │ ├── FactoryTestSuite.java
│ │ │ ├── HeaderFactoryTest.java
│ │ │ └── MessageFactoryTest.java
│ │ └── msgflow
│ │ │ ├── ClientTransactionTest.java
│ │ │ ├── DialogStateMachineTest.java
│ │ │ ├── DialogTest.java
│ │ │ ├── InviteClientTransactionsStateMachineTest.java
│ │ │ ├── InviteServerTransactionsStateMachineTest.java
│ │ │ ├── MessageFlowHarness.java
│ │ │ ├── NonInviteClientTransactionsStateMachineTest.java
│ │ │ ├── NonInviteServerTransactionsStateMachineTest.java
│ │ │ ├── ServerTransactionTest.java
│ │ │ ├── SipEventCollector.java
│ │ │ ├── SipProviderTest.java
│ │ │ ├── TransactionTimeoutEventTest.java
│ │ │ └── callflows
│ │ │ ├── NonSipUriRouter.java
│ │ │ ├── ProtocolObjects.java
│ │ │ ├── ScenarioHarness.java
│ │ │ ├── forkedinvite
│ │ │ ├── AbstractForkedInviteTestCase.java
│ │ │ ├── ForkedInviteTest.java
│ │ │ ├── Proxy.java
│ │ │ ├── Shootist.java
│ │ │ └── Shootme.java
│ │ │ ├── prack
│ │ │ ├── AbstractPrackTestCase.java
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ ├── TcpPrackTest.java
│ │ │ └── UdpPrackTest.java
│ │ │ ├── recroute
│ │ │ ├── AbstractRecRouteTestCase.java
│ │ │ ├── Proxy.java
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ ├── TCPRecordRouteTest.java
│ │ │ └── UDPRecordRouteTest.java
│ │ │ ├── redirect
│ │ │ ├── AbstractRedirectTestCase.java
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ ├── TcpRedirectTest.java
│ │ │ └── UdpRedirectTest.java
│ │ │ ├── refer
│ │ │ ├── AbstractReferTestCase.java
│ │ │ ├── Referee.java
│ │ │ ├── Referrer.java
│ │ │ ├── TcpReferTest.java
│ │ │ └── UdpReferTest.java
│ │ │ ├── reinvite
│ │ │ ├── ReInviteTest.java
│ │ │ ├── Shootist.java
│ │ │ └── Shootme.java
│ │ │ ├── router
│ │ │ ├── AbstractRouterTestCase.java
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ ├── TcpRouterTest.java
│ │ │ └── UdpRouterTest.java
│ │ │ ├── sctp
│ │ │ ├── SctpTest.java
│ │ │ ├── Shootist.java
│ │ │ └── Shootme.java
│ │ │ ├── subsnotify
│ │ │ ├── AbstractSubsnotifyTestCase.java
│ │ │ ├── Forker.java
│ │ │ ├── Notifier.java
│ │ │ ├── Subscriber.java
│ │ │ ├── TcpSubsnotifyTest.java
│ │ │ └── UdpSubsnotifyTest.java
│ │ │ └── tls
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ ├── TlsTest.java
│ │ │ └── testkeys
│ ├── torture
│ │ ├── ConfigurationSwitches.java
│ │ ├── README
│ │ ├── TagNames.java
│ │ ├── TokenValues.java
│ │ ├── Torture.java
│ │ ├── TortureTest.java
│ │ ├── torture.dtd
│ │ └── torture.xml
│ └── unit
│ │ └── gov
│ │ └── nist
│ │ └── javax
│ │ └── sip
│ │ ├── address
│ │ ├── JainSipUriTest.java
│ │ └── UriDecoderTest.java
│ │ ├── multipartmime
│ │ └── MultipartMimeParserTest.java
│ │ ├── parser
│ │ ├── AcceptEncodingParserTest.java
│ │ ├── AcceptLanguageParserTest.java
│ │ ├── AcceptParserTest.java
│ │ ├── AddressParserTest.java
│ │ ├── AlertInfoParserTest.java
│ │ ├── AllowEventsParserTest.java
│ │ ├── AllowParserTest.java
│ │ ├── AuthenticationInfoParserTest.java
│ │ ├── AuthorizationParserTest.java
│ │ ├── CSeqParserTest.java
│ │ ├── CallIDParserTest.java
│ │ ├── CallInfoParserTest.java
│ │ ├── ContactParserTest.java
│ │ ├── ContentDispositionParserTest.java
│ │ ├── ContentEncodingParserTest.java
│ │ ├── ContentLanguageParserTest.java
│ │ ├── ContentLengthParserTest.java
│ │ ├── ContentTypeParserTest.java
│ │ ├── DateParserTest.java
│ │ ├── ErrorInfoParserTest.java
│ │ ├── EventParserTest.java
│ │ ├── ExpiresParserTest.java
│ │ ├── FromParserTest.java
│ │ ├── HostNameParserTest.java
│ │ ├── InReplyToParserTest.java
│ │ ├── JunkAtEndOfMessageTest.java
│ │ ├── MaxForwardsParserTest.java
│ │ ├── MimeVersionParserTest.java
│ │ ├── MinExpiresParserTest.java
│ │ ├── OrganizationParserTest.java
│ │ ├── ParserTestCase.java
│ │ ├── ParserTestSuite.java
│ │ ├── RecordRouteParserTest.java
│ │ ├── ReferToParserTest.java
│ │ ├── RetryAfterParserTest.java
│ │ ├── RouteParserTest.java
│ │ ├── RussianDisplayNameTest.java
│ │ ├── SupportedParserTest.java
│ │ ├── TimeStampParserTest.java
│ │ ├── URLParserTest.java
│ │ ├── ViaParserTest.java
│ │ ├── WarningParserTest.java
│ │ ├── extensions
│ │ │ ├── JoinParserTest.java
│ │ │ ├── MinSEParserTest.java
│ │ │ ├── ReferencesParserTest.java
│ │ │ ├── ReferredByParserTest.java
│ │ │ ├── ReplacesParserTest.java
│ │ │ └── SessionExpiresParserTest.java
│ │ └── ims
│ │ │ ├── PAccessNetworkInfoParserTest.java
│ │ │ ├── PAssertedIdentityParserTest.java
│ │ │ ├── PAssertedServiceParserTest.java
│ │ │ ├── PAssociatedURIParserTest.java
│ │ │ ├── PCalledPartyIDParserTest.java
│ │ │ ├── PChargingFunctionAddressesParserTest.java
│ │ │ ├── PMediaAuthorizationParserTest.java
│ │ │ ├── PPreferredIdentityParserTest.java
│ │ │ ├── PPreferredServiceParserTest.java
│ │ │ ├── PProfileKeyParserTest.java
│ │ │ ├── PServedUserParserTest.java
│ │ │ ├── PUserDatabaseParserTest.java
│ │ │ ├── PVisitedNetworkIDParserTest.java
│ │ │ ├── PathParserTest.java
│ │ │ ├── PrivacyParserTest.java
│ │ │ ├── SecurityClientParserTest.java
│ │ │ ├── SecurityServerParserTest.java
│ │ │ └── SecurityVerifyParserTest.java
│ │ └── stack
│ │ ├── AckReTransmissionTest.java
│ │ ├── AutoSend100TryingTest.java
│ │ ├── CancelEventTest.java
│ │ ├── ClientTransactionCallingAlertTest.java
│ │ ├── CtxExpiredTest.java
│ │ ├── DeliverNotifyBefore202Test.java
│ │ ├── DeliverRequestEventWithBadHeaderTest.java
│ │ ├── DeliverUnsolicitedNotifyTest.java
│ │ ├── DialogEarlyStateTimeoutTest.java
│ │ ├── DialogIdentityTest.java
│ │ ├── LooseDialogValidationTest.java
│ │ ├── MultipleContactsTest.java
│ │ ├── NIOIdleTimeoutTest.java
│ │ ├── NIOParsingTest.java
│ │ ├── NoAutoDialogTest.java
│ │ ├── NoToTagOn1xxDialogLeakTest.java
│ │ ├── NonRfc3261ForkedInviteTest.java
│ │ ├── RFC5626KeepAliveTest.java
│ │ ├── ReInviteBusyTest.java
│ │ ├── ReInviteInfoAckOverlapTest.java
│ │ ├── ReconnectTCPTest.java
│ │ ├── RejectInvalidResponseTest.java
│ │ ├── RejectOutOfSequenceMessageTest.java
│ │ ├── SIPEventInterceptorTest.java
│ │ ├── SIPMessageValveImpl.java
│ │ ├── SIPMessageValveTest.java
│ │ ├── SelfroutingTest.java
│ │ ├── ServerTransactionRetransmissionTimerTest.java
│ │ ├── SetRetransmissionTimerTest.java
│ │ ├── StackQueueCongestionControlTest.java
│ │ ├── TcpMultiThreadDeadlockTest.java
│ │ ├── TcpSingleThreadDeadlockTest.java
│ │ ├── TransactionAlreadyExistsExceptionTest.java
│ │ ├── UdpPrackTimeoutTest.java
│ │ ├── ViaRPortTest.java
│ │ ├── WebsocketPacketFragmentationTest.java
│ │ ├── WebsocketSelfTest.java
│ │ ├── acktransport
│ │ ├── InviteTest.java
│ │ ├── Proxy.java
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ ├── SipObjects.java
│ │ └── package.html
│ │ ├── challenge
│ │ ├── ChallengeTest.java
│ │ ├── Shootist.java
│ │ └── Shootme.java
│ │ ├── ctx491
│ │ ├── ReInviteTest.java
│ │ ├── Shootist.java
│ │ └── Shootme.java
│ │ ├── dialog
│ │ ├── b2bua
│ │ │ ├── BackToBackUserAgent.java
│ │ │ ├── BackToBackUserAgentTest.java
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ └── reinvite
│ │ │ │ ├── BackToBackUserAgent.java
│ │ │ │ ├── BackToBackUserAgentTest.java
│ │ │ │ ├── Operation.java
│ │ │ │ ├── Shootist.java
│ │ │ │ └── Shootme.java
│ │ ├── termination
│ │ │ ├── DialogTerminationOn50XTest.java
│ │ │ ├── Shootist.java
│ │ │ └── Shootme.java
│ │ └── timeout
│ │ │ ├── DialogTimeoutTest.java
│ │ │ ├── Shootist.java
│ │ │ ├── ShootistNotImplementingSipListenerExt.java
│ │ │ ├── Shootme.java
│ │ │ └── ShootmeNotImplementingListener.java
│ │ ├── forkedinvite
│ │ ├── InviteTest.java
│ │ ├── Proxy.java
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ └── SipObjects.java
│ │ ├── forkedinvite482
│ │ ├── AbstractForkedInviteTestCase.java
│ │ ├── ForkedInviteTest.java
│ │ ├── Proxy.java
│ │ ├── Shootist.java
│ │ └── Shootme.java
│ │ ├── forkedinvitedialogtimeout
│ │ ├── InviteTest.java
│ │ ├── Proxy.java
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ ├── SipObjects.java
│ │ └── package.html
│ │ ├── forkedinviteloopdisabled
│ │ ├── AbstractForkedInviteTestCase.java
│ │ ├── ForkedInviteTest.java
│ │ ├── Proxy.java
│ │ ├── Shootist.java
│ │ └── Shootme.java
│ │ ├── no491
│ │ ├── ReInviteTCPPostParserThreadPoolTest.java
│ │ ├── ReInviteTest.java
│ │ ├── Shootist.java
│ │ └── Shootme.java
│ │ ├── reInvite
│ │ ├── ReInviteTest.java
│ │ ├── Shootist.java
│ │ └── Shootme.java
│ │ ├── reinvitechallenge
│ │ ├── AccountManagerImpl.java
│ │ ├── ReInviteTest.java
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ └── UserCredentialsImpl.java
│ │ ├── stx491
│ │ ├── ReInviteTest.java
│ │ ├── Shootist.java
│ │ └── Shootme.java
│ │ ├── subsnotify
│ │ ├── Notifier.java
│ │ ├── NotifyBefore202Test.java
│ │ ├── Subscriber.java
│ │ └── SubscriberTimeoutAggressiveTest.java
│ │ ├── timeoutontermineted
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ ├── SipObjects.java
│ │ └── TimeoutOnTerminatedTest.java
│ │ ├── tls
│ │ ├── DeadSocketTlsTest.java
│ │ ├── HopImpl.java
│ │ ├── MyRouter.java
│ │ ├── Shootist.java
│ │ ├── Shootme.java
│ │ ├── TlsTest.java
│ │ ├── TlsTestDomainDash.java
│ │ ├── fookeys
│ │ ├── nopasaran.java
│ │ ├── testKeyStore
│ │ └── testkeys
│ │ ├── tx
│ │ └── timeout
│ │ │ ├── Shootist.java
│ │ │ ├── Shootme.java
│ │ │ └── TxTimeoutTest.java
│ │ └── uasreinvite
│ │ ├── ReInviteAllowInterleavingTest.java
│ │ ├── Shootist.java
│ │ └── Shootme.java
└── tools
│ ├── sniffer
│ ├── README.txt
│ ├── SniffFileParser.java
│ ├── SniffMessage.java
│ ├── SniffMessageList.java
│ ├── SniffSessionList.java
│ └── pingtel.txt
│ └── tracesviewer
│ ├── AboutFrame.java
│ ├── AlertFrame.java
│ ├── Arrow.java
│ ├── CircleArrow.java
│ ├── DebugWindow.java
│ ├── HelpBox.java
│ ├── ListenerTracesViewer.java
│ ├── LogComparator.java
│ ├── LogFileParser.java
│ ├── MessageLogList.java
│ ├── PercentLayout.java
│ ├── PercentLayoutConstraint.java
│ ├── README.txt
│ ├── ScriptFrame.java
│ ├── StraightArrow.java
│ ├── TabbedPaneDemo.java
│ ├── TracesAnimationThread.java
│ ├── TracesCanvas.java
│ ├── TracesMessage.java
│ ├── TracesSession.java
│ ├── TracesSessions.java
│ ├── TracesSessionsDisplayer.java
│ ├── TracesSessionsList.java
│ ├── TracesSocket.java
│ ├── TracesViewer.java
│ ├── build.xml
│ ├── images
│ ├── back.gif
│ ├── comp.gif
│ ├── faces.jpg
│ └── nistBanner.jpg
│ └── runinit.sh
├── tck.properties
└── www
├── README.html
├── images
├── genaker_voip_api_stability_testing_over_72hours_callee.jpg
├── genaker_voip_api_stability_testing_over_72hours_caller.jpg
├── logo_bea_tl.gif
├── masthead_slogan.gif
├── nist-banner-bottom.jpg
├── stability-testing.jpg
└── sun_logo.gif
├── index.html
└── performance.html
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
6 | The software was developed by employees of the National Institute of 7 | Standards and Technology (NIST), an agency of the Federal Government. 8 | Pursuant to title 15 Untied States Code Section 105, works of NIST 9 | employees are not subject to copyright protection in the United States 10 | and are considered to be in the public domain. As a result, a formal 11 | license is not needed to use the software. 12 |
13 | 14 |15 | The NIST-SIP software is provided by NIST as a service and is expressly 16 | provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 17 | OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 19 | AND DATA ACCURACY. NIST does not warrant or make any representations 20 | regarding the use of the software or the results thereof, including but 21 | not limited to the correctness, accuracy, reliability or usefulness of 22 | the software. 23 |
24 | 25 |26 | Permission to use this software is contingent upon your acceptance 27 | of the terms of this agreement and upon your providing appropriate 28 | acknowledgments of NIST's ownership of the software. 29 |
30 | 31 |gr
parameter is set.
33 | *
34 | * @since 2.0
35 | */
36 | public boolean hasGrParam();
37 |
38 | /**
39 | * Sets the gr
parameter.
40 | *
41 | * @param value -- the GRUU param value.
42 | *
43 | * @since 2.0
44 | */
45 | public void setGrParam(String value);
46 |
47 | /**
48 | * Returns whether the lr
parameter is set.
49 | *
50 | * @since 2.0
51 | */
52 | public boolean hasLrParam();
53 |
54 | /**
55 | * Sets the lr
parameter.
56 | *
57 | * @param value -- the lr param value.
58 | *
59 | * @since 2.0
60 | */
61 | public void setLrParam();
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/src/gov/nist/javax/sip/address/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Implementation of the address package of the JAIN SIP API.
4 |
5 |
--------------------------------------------------------------------------------
/src/gov/nist/javax/sip/clientauthutils/AccountManager.java:
--------------------------------------------------------------------------------
1 | package gov.nist.javax.sip.clientauthutils;
2 |
3 | import javax.sip.ClientTransaction;
4 |
5 | public interface AccountManager {
6 |
7 | /**
8 | * Returns the user credentials for a given SIP Domain.
9 | * You can implement any desired method (such as popping up a dialog for example )
10 | * to retrieve the credentials.
11 | *
12 | * @param challengedTransaction - the transaction that is being challenged.
13 | * @param realm - the realm that is being challenged for which a credential should be
14 | * returned.
15 | * @return -- the user credentials associated with the domain.
16 | */
17 |
18 | UserCredentials getCredentials(ClientTransaction challengedTransaction, String realm);
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/gov/nist/javax/sip/clientauthutils/SecureAccountManager.java:
--------------------------------------------------------------------------------
1 | package gov.nist.javax.sip.clientauthutils;
2 |
3 | import javax.sip.ClientTransaction;
4 |
5 | public interface SecureAccountManager {
6 | /**
7 | * Returns the user credentials for a given SIP Domain.
8 | * You can implement any desired method (such as popping up a dialog for example )
9 | * to retrieve the credentials.
10 | *
11 | * @param challengedTransaction - the transaction that is being challenged.
12 | * @param realm - the realm that is being challenged for which a credential should be
13 | * returned.
14 | * @return -- the user credentials associated with the domain.
15 | */
16 |
17 | UserCredentialHash getCredentialHash(ClientTransaction challengedTransaction, String realm);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/src/gov/nist/javax/sip/clientauthutils/UserCredentialHash.java:
--------------------------------------------------------------------------------
1 | package gov.nist.javax.sip.clientauthutils;
2 |
3 | /**
4 | * Interface for those clients that only supply
5 | * hash(user:domain:password). This is more secure than simply supplying
6 | * password because the password cannot be extracted. Implementations
7 | * tend to prefer to store information in user accounts using such a
8 | * hash rather than plain text passwords because it offers better security.
9 | *
10 | */
11 | public interface UserCredentialHash {
12 |
13 | /**
14 | * Get the user name.
15 | *
16 | * @return userName
17 | */
18 | public String getUserName();
19 |
20 |
21 | /**
22 | * Get the SipDomain.
23 | *
24 | * @return the SIP Domain.
25 | */
26 | public String getSipDomain();
27 |
28 |
29 | /**
30 | * Get the MD5(userName:sipdomain:password)
31 | *
32 | * @return the MD5 hash of userName:sipDomain:password.
33 | */
34 | public String getHashUserDomainPassword();
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/src/gov/nist/javax/sip/clientauthutils/UserCredentials.java:
--------------------------------------------------------------------------------
1 | package gov.nist.javax.sip.clientauthutils;
2 |
3 | /**
4 | * The class is used whenever user credentials for a particular realm (site
5 | * server or service) are necessary
6 | * @author Emil Ivov 18 | Additionally this package contains a AddressFactory class that defines 19 | methods for creating new addressing attributes. The AddressFactory is a 20 | singleton object, which can be obtained from the {@link javax.sip.SipFactory}. 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/javax/sip/copyright.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |Copyright © 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa 16 | Clara, California 95054, U.S.A. All rights reserved.
17 | 18 |Copyright © 2005 BEA Systems, Inc., 2315 North First Street, San Jose, 19 | California 95131, U.S.A. All rights reserved.
20 | 21 |Unpublished - rights reserved under the Copyright Laws of the United States.
22 | 23 |Use is subject to license terms.
24 | 25 |This distribution may include materials developed by third parties.
26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/javax/sip/header/AcceptEncodingHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/AcceptEncodingHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/AcceptHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/AcceptHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/AcceptLanguageHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/AcceptLanguageHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/AlertInfoHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/AlertInfoHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/AllowEventsHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/AllowEventsHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/AllowHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/AllowHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/AuthenticationInfoHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/AuthenticationInfoHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/AuthorizationHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/AuthorizationHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/CSeqHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/CSeqHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/CallIdHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/CallIdHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/CallInfoHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/CallInfoHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ContactHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ContactHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ContentDispositionHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ContentDispositionHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ContentEncodingHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ContentEncodingHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ContentLanguageHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ContentLanguageHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ContentLengthHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ContentLengthHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ContentTypeHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ContentTypeHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/DateHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/DateHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/Encoding.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/Encoding.java -------------------------------------------------------------------------------- /src/javax/sip/header/ErrorInfoHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ErrorInfoHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/EventHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/EventHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ExpiresHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ExpiresHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ExtensionHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ExtensionHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/FromHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/FromHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/Header.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/Header.java -------------------------------------------------------------------------------- /src/javax/sip/header/HeaderAddress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/HeaderAddress.java -------------------------------------------------------------------------------- /src/javax/sip/header/HeaderFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/HeaderFactory.java -------------------------------------------------------------------------------- /src/javax/sip/header/InReplyToHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/InReplyToHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/MaxForwardsHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/MaxForwardsHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/MediaType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/MediaType.java -------------------------------------------------------------------------------- /src/javax/sip/header/MimeVersionHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/MimeVersionHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/MinExpiresHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/MinExpiresHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/OptionTag.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/OptionTag.java -------------------------------------------------------------------------------- /src/javax/sip/header/OrganizationHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/OrganizationHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/Parameters.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/Parameters.java -------------------------------------------------------------------------------- /src/javax/sip/header/PriorityHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/PriorityHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ProxyAuthenticateHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ProxyAuthenticateHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ProxyAuthorizationHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ProxyAuthorizationHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ProxyRequireHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ProxyRequireHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/RAckHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/RAckHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/RSeqHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/RSeqHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ReasonHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ReasonHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/RecordRouteHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/RecordRouteHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ReferToHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ReferToHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ReplyToHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ReplyToHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/RequireHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/RequireHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/RetryAfterHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/RetryAfterHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/RouteHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/RouteHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/SIPETagHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/SIPETagHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/SIPIfMatchHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/SIPIfMatchHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ServerHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ServerHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/SubjectHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/SubjectHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/SubscriptionStateHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/SubscriptionStateHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/SupportedHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/SupportedHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/TimeStampHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/TimeStampHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ToHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ToHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/TooManyHopsException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/TooManyHopsException.java -------------------------------------------------------------------------------- /src/javax/sip/header/UnsupportedHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/UnsupportedHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/UserAgentHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/UserAgentHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/ViaHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/ViaHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/WWWAuthenticateHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/WWWAuthenticateHeader.java -------------------------------------------------------------------------------- /src/javax/sip/header/WarningHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/header/WarningHeader.java -------------------------------------------------------------------------------- /src/javax/sip/message/Message.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/message/Message.java -------------------------------------------------------------------------------- /src/javax/sip/message/MessageFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/message/MessageFactory.java -------------------------------------------------------------------------------- /src/javax/sip/message/Request.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/message/Request.java -------------------------------------------------------------------------------- /src/javax/sip/message/Response.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/javax/sip/message/Response.java -------------------------------------------------------------------------------- /src/performance/b2bua/run_uac_DIALOG.sh: -------------------------------------------------------------------------------- 1 | sipp 127.0.0.1:5060 -trace_err -sf uac_DIALOG.xml -i 127.0.0.1 -p 5050 -r 1 -m 1000000 -l 1000000 2 | #sipp 127.0.0.1:5060 -trace_err -sf uac_DIALOG.xml -i 127.0.0.1 -p 5050 -r 1 -m 1 -l 1000000 3 | -------------------------------------------------------------------------------- /src/performance/b2bua/run_uas_DIALOG.sh: -------------------------------------------------------------------------------- 1 | sipp -trace_err -sf uas_DIALOG.xml -i 127.0.0.1 -p 5090 -r 1 -m 1000000 -l 1000000 2 | -------------------------------------------------------------------------------- /src/performance/b2bua/test.properties: -------------------------------------------------------------------------------- 1 | #sip stack properties that are here and in specs are obligatory for stack 2 | gov.nist.javax.sip.LOG_MESSAGE_CONTENT=false 3 | gov.nist.javax.sip.TRACE_LEVEL=0 4 | gov.nist.javax.sip.DEBUG_LOG= 5 | gov.nist.javax.sip.SERVER_LOG= 6 | gov.nist.javax.sip.THREAD_POOL_SIZE=4 7 | javax.sip.AUTOMATIC_DIALOG_SUPPORT=off 8 | gov.nist.javax.sip.REENTRANT_LISTENER=true 9 | gov.nist.javax.sip.DELIVER_UNSOLICITED_NOTIFY=true 10 | gov.nist.javax.sip.RECEIVE_UDP_BUFFER_SIZE=65536 11 | gov.nist.javax.sip.SEND_UDP_BUFFER_SIZE=65536 12 | gov.nist.javax.sip.CONGESTION_CONTROL_ENABLED=false 13 | javax.sip.STACK_NAME=Mobicents 14 | -------------------------------------------------------------------------------- /src/performance/uas/.ant-targets-build.xml: -------------------------------------------------------------------------------- 1 | clean 2 | shootme 3 | shootme-no-dialog 4 | shootme-no-dialog-no-tx 5 | shootmelog 6 | -------------------------------------------------------------------------------- /src/performance/uas/README.txt: -------------------------------------------------------------------------------- 1 | The program Shootme.java (named after nothing) is a skeleton UAS. 2 | 3 | You need sipp to run this scenario. If you dont have sipp you could use 4 | the download-and-compile-sipp.sh shell script on Linux. 5 | 6 | To run this example, open up two windows. 7 | 8 | From the first one, type 9 | 10 | "ant shootme" 11 | 12 | and from the second one type 13 | 14 | "./performance_test.sh". 15 | 16 | If you are not using UNIX you must execute the sipp script manually 17 | or adjust the location of the sipp executable. 18 | 19 | The performance_test.sh script will start a sipp scenario to act as UAC and 20 | will send up an invite to the shootme and the victim (shootme) will respond 21 | like a UAC should (or it might even kick up its legs and die). 22 | 23 | For performance tests debugging is off. 24 | 25 | Disclaimer: NIST does not necessarily endorse John Wayne. 26 | 27 | Mail questions to mranga@nist.gov or nist-sip-dev@antd.nist.gov 28 | -------------------------------------------------------------------------------- /src/performance/uas/download-and-compile-sipp.sh: -------------------------------------------------------------------------------- 1 | # Compile sipp 2 | wget -m -nd http://downloads.sourceforge.net/project/sipp/sipp/3.0/sipp-3.0.src.tar.gz?use_mirror=surfnet 3 | tar -xzf sipp-3.0.src.tar.gz 4 | cd sipp-3.0.src 5 | 6 | wget -m -nd http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz 7 | tar -xzf ncurses-5.6.tar.gz 8 | cd ncurses-5.6 9 | ./configure > /dev/null 10 | make > /dev/null 11 | cd .. 12 | wget -m -nd http://people.redhat.com/lbarreir/hudson/call-setup-test/Makefile 13 | make > /dev/null 14 | mv -f sipp .. 15 | cd .. 16 | rm -fr sipp-3.0.src* 17 | -------------------------------------------------------------------------------- /src/performance/uas/performance-test-timer.sh: -------------------------------------------------------------------------------- 1 | killall sipp 2 | rm *.log 3 | export TEST_IP=127.0.0.1 4 | echo "IP Address for the test is $TEST_IP" 5 | 6 | echo "Attempting to start sipp script"; 7 | #sipp $TEST_IP:5080 -sf performance-uac-timer.xml -trace_err -i $TEST_IP -p 5055 -r 200 -m 10000000 8 | sipp $TEST_IP:5080 -sf performance-uac-timer.xml -trace_err -i $TEST_IP -p 5055 -r 500 -m 1 9 | 10 | -------------------------------------------------------------------------------- /src/performance/uas/performance-test.sh: -------------------------------------------------------------------------------- 1 | killall sipp 2 | rm *.log 3 | export TEST_IP=127.0.0.1 4 | echo "IP Address for the test is $TEST_IP" 5 | 6 | echo "Attempting to start sipp script"; 7 | sipp $TEST_IP:5080 -sf performance-uac.xml -trace_err -i $TEST_IP -p 5055 -r 200 -m 10000000 8 | #sipp $TEST_IP:5080 -sf performance-uac.xml -trace_err -i $TEST_IP -p 5055 -r 200 -m 1 9 | 10 | -------------------------------------------------------------------------------- /src/test/load/concurrency/README.txt: -------------------------------------------------------------------------------- 1 | 2 | Test correct operation under load conditions. 3 | Runs 100 concurrent dialogs and make sure the dialogs are 4 | started and terminated properly. 5 | 6 | To run these tests: 7 | 8 | make shootme 9 | make shootist 10 | -------------------------------------------------------------------------------- /src/test/load/concurrency/SelfTest.java: -------------------------------------------------------------------------------- 1 | package test.load.concurrency; 2 | 3 | import javax.sip.SipProvider; 4 | 5 | public class SelfTest { 6 | 7 | 8 | public static void main(String[] args) throws Exception { 9 | ProtocolObjects.init("shootist", true); 10 | if ( args.length == 0 ) Shootist.NDIALOGS = 10000; 11 | else Shootist.NDIALOGS = Integer.parseInt(args[0]); 12 | Shootist.addressFactory = ProtocolObjects.addressFactory; 13 | Shootist.messageFactory = ProtocolObjects.messageFactory; 14 | Shootist.headerFactory = ProtocolObjects.headerFactory; 15 | Shootist.sipStack = ProtocolObjects.sipStack; 16 | Shootist.transport = ProtocolObjects.transport; 17 | Shootist shootist = new Shootist(); 18 | shootist.createProvider(shootist); 19 | 20 | ProtocolObjects.init("shootme", true); 21 | Shootme.addressFactory = ProtocolObjects.addressFactory; 22 | Shootme.messageFactory = ProtocolObjects.messageFactory; 23 | Shootme.headerFactory = ProtocolObjects.headerFactory; 24 | Shootme.sipStack = ProtocolObjects.sipStack; 25 | Shootme.transport = ProtocolObjects.transport; 26 | Shootme shootme = new Shootme(); 27 | SipProvider sipProvider = shootme.createSipProvider(); 28 | sipProvider.addSipListener(shootme); 29 | 30 | shootist.start = System.currentTimeMillis(); 31 | for (int i = 0; i < Shootist.NDIALOGS; i++) { 32 | Thread.sleep(3); 33 | shootist.sendInvite(); 34 | } 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/test/load/multidialog/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This example illustrates interleaved concurrent calls launched by the UAC. 3 | The UAC can handle multiple dialogs concurrently. Neither the UAC nor the 4 | UAS is allowed to block in the listener. Note that the UAS starts a timer 5 | task to delay responding but does not sleep in the Listener to introduce 6 | this delay. 7 | 8 | Run it using the ant build.xml file 9 | 10 | make shootme 11 | 12 | make shootist 13 | 14 | From two command prompts. 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/test/load/subsnotify/SubsNotify.java: -------------------------------------------------------------------------------- 1 | package test.load.subsnotify; 2 | 3 | public class SubsNotify { 4 | 5 | /** 6 | * @param args 7 | */ 8 | public static void main(String[] args) { 9 | Notifier notifier = new Notifier(); 10 | Subscriber subscriber = new Subscriber(); 11 | notifier.init(); 12 | subscriber.init(); 13 | 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/tck/README: -------------------------------------------------------------------------------- 1 | This is a work in progress. It is currently open to public review. Your 2 | comments are solicited. 3 | 4 | The TCK was written by 5 | 6 | M. Ranganathan (factory tests) and Emil Ivov (stack tests and GUI) 7 | 8 | -------------------------------------------------------------------------------- /src/test/tck/TckInternalError.java: -------------------------------------------------------------------------------- 1 | package test.tck; 2 | 3 | /** 4 | * This class serves to wrap exceptions that were thrown during the testing 5 | * and that were not provoked by the tested implementaion. 6 | * 7 | * @author Emil Ivov 8 | * Network Research Team, Louis Pasteur University, Strasbourg, France 9 | * This code is in the public domain. 10 | * @version 1.0 11 | */ 12 | 13 | public class TckInternalError extends Error 14 | { 15 | 16 | public TckInternalError(String message) 17 | { 18 | super(message); 19 | TestHarness.abortOnFail = true; 20 | } 21 | 22 | public TckInternalError(String message, Throwable cause) 23 | { 24 | super(message, cause); 25 | TestHarness.abortOnFail = true; 26 | } 27 | 28 | public TckInternalError(Throwable cause) 29 | { 30 | super(cause); 31 | TestHarness.abortOnFail = true; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/tck/TiUnexpectedError.java: -------------------------------------------------------------------------------- 1 | package test.tck; 2 | 3 | /** 4 | * This class serves to wrap exceptions that were thrown by the Tested 5 | * Implementation and that do not reflect a test failure but rather 6 | * an error that prevented the TCK from performing a test. 7 | * 8 | * @author Emil Ivov 9 | * @version 1.0 10 | */ 11 | 12 | public class TiUnexpectedError extends Error 13 | { 14 | 15 | public TiUnexpectedError(String message) 16 | { 17 | super(message); 18 | } 19 | 20 | public TiUnexpectedError(String message, Throwable cause) 21 | { 22 | super(message, cause); 23 | } 24 | 25 | public TiUnexpectedError(Throwable cause) 26 | { 27 | super(cause); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/tck/factory/FactoryTestSuite.java: -------------------------------------------------------------------------------- 1 | package test.tck.factory; 2 | 3 | import junit.framework.*; 4 | 5 | /** 6 | *Title: TCK
7 | *Description: JAIN SIP 1.1 Technology Compatibility Kit
8 | * @author Emil Ivov 9 | * Network Research Team, Louis Pasteur University, Strasbourg, France 10 | * This code is in the public domain. 11 | * @version 1.0 12 | */ 13 | 14 | public class FactoryTestSuite extends TestSuite { 15 | 16 | 17 | public FactoryTestSuite(String name) { 18 | super(name); 19 | addTestSuite(AddressFactoryTest.class); 20 | addTestSuite(HeaderFactoryTest.class); 21 | addTestSuite(MessageFactoryTest.class); 22 | } 23 | 24 | public static Test suite() { 25 | return new FactoryTestSuite("FactoryTestSuite"); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/test/tck/factory/MessageFactoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/test/tck/factory/MessageFactoryTest.java -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/forkedinvite/ForkedInviteTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.forkedinvite; 2 | 3 | public class ForkedInviteTest extends AbstractForkedInviteTestCase { 4 | boolean myFlag; 5 | 6 | public void setUp() { 7 | super.testedImplFlag = !myFlag; 8 | myFlag = !super.testedImplFlag; 9 | super.transport = "udp"; 10 | super.setUp(); 11 | } 12 | 13 | public void testForkedInvite() { 14 | this.shootist.sendInvite(); 15 | } 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/prack/TcpPrackTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.prack; 2 | 3 | 4 | public class TcpPrackTest extends UdpPrackTest { 5 | boolean myFlag; 6 | 7 | public void setUp() throws Exception { 8 | super.testedImplFlag = !myFlag; 9 | myFlag = !super.testedImplFlag; 10 | super.transport = "tcp"; 11 | super.setUp(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/prack/UdpPrackTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.prack; 2 | 3 | import test.tck.msgflow.callflows.prack.AbstractPrackTestCase; 4 | 5 | public class UdpPrackTest extends AbstractPrackTestCase { 6 | boolean myFlag; 7 | public void setUp() throws Exception { 8 | testedImplFlag = !myFlag; 9 | myFlag = !testedImplFlag; 10 | super.transport = "udp"; 11 | super.setUp(); 12 | } 13 | 14 | public void testPrack() { 15 | this.shootist.sendInvite(); 16 | 17 | } 18 | 19 | public void testPrack2() { 20 | this.shootist.sendInvite(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/recroute/TCPRecordRouteTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.recroute; 2 | 3 | public class TCPRecordRouteTest extends AbstractRecRouteTestCase { 4 | boolean myFlag; 5 | 6 | public void setUp() { 7 | super.testedImplFlag = !myFlag; 8 | myFlag = !super.testedImplFlag; 9 | super.transport = "tcp"; 10 | super.setUp(); 11 | } 12 | 13 | public void testRecordRoute() { 14 | this.shootist.sendInvite(); 15 | } 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/recroute/UDPRecordRouteTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.recroute; 2 | 3 | public class UDPRecordRouteTest extends AbstractRecRouteTestCase{ 4 | boolean myFlag; 5 | 6 | public void setUp() { 7 | super.testedImplFlag = !myFlag; 8 | myFlag = !super.testedImplFlag; 9 | super.transport = "udp"; 10 | super.setUp(); 11 | } 12 | 13 | public void testRecordRoute() { 14 | this.shootist.sendInvite(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/redirect/TcpRedirectTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.redirect; 2 | 3 | public class TcpRedirectTest extends AbstractRedirectTestCase { 4 | boolean myFlag; 5 | 6 | public void setUp() { 7 | super.testedImplFlag = !myFlag; 8 | myFlag = !super.testedImplFlag; 9 | super.transport = "tcp"; 10 | super.setUp(); 11 | } 12 | public void testRedirect() { 13 | this.shootist.sendInvite(); 14 | 15 | } 16 | 17 | public void testRedirect2() { 18 | this.shootist.sendInvite(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/redirect/UdpRedirectTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.redirect; 2 | 3 | public class UdpRedirectTest extends AbstractRedirectTestCase { 4 | boolean myFlag; 5 | public void setUp() { 6 | testedImplFlag = !myFlag; 7 | myFlag = !testedImplFlag; 8 | super.transport = "udp"; 9 | super.setUp(); 10 | } 11 | public void testRedirect() { 12 | this.shootist.sendInvite(); 13 | 14 | } 15 | 16 | public void testRedirect2() { 17 | this.shootist.sendInvite(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/refer/TcpReferTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.refer; 2 | 3 | public class TcpReferTest extends AbstractReferTestCase { 4 | boolean myFlag; 5 | 6 | public void setUp() throws Exception { 7 | // these flags determine 8 | // which SIP Stack (RI vs TI) is 9 | // Shootist and which one is Shootme 10 | // the following setup code flips the roles before each test is run 11 | testedImplFlag = !myFlag; 12 | myFlag = !testedImplFlag; 13 | super.transport = "tcp"; 14 | super.setUp(); 15 | } 16 | public void testRefer() { 17 | this.referrer.sendRefer(); 18 | } 19 | 20 | public void testRefer2() { 21 | this.referrer.sendRefer(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/refer/UdpReferTest.java: -------------------------------------------------------------------------------- 1 | package test.tck.msgflow.callflows.refer; 2 | 3 | public class UdpReferTest extends AbstractReferTestCase { 4 | boolean myFlag; 5 | public void setUp() throws Exception { 6 | // switch tested stack between the two tests 7 | testedImplFlag = !myFlag; 8 | myFlag = !testedImplFlag; 9 | super.transport = "udp"; 10 | super.setUp(); 11 | } 12 | public void testRefer() { 13 | super.transport = "udp"; 14 | this.referrer.sendRefer(); 15 | } 16 | 17 | public void testRefer2() { 18 | this.referrer.sendRefer(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/router/TcpRouterTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Conditions Of Use 3 | * 4 | * This software was developed by employees of the National Institute of 5 | * Standards and Technology (NIST), and others. 6 | * This software is has been contributed to the public domain. 7 | * As a result, a formal license is not needed to use the software. 8 | * 9 | * This software is provided "AS IS." 10 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 11 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 13 | * AND DATA ACCURACY. NIST does not warrant or make any representations 14 | * regarding the use of the software or the results thereof, including but 15 | * not limited to the correctness, accuracy, reliability or usefulness of 16 | * the software. 17 | * 18 | * 19 | */ 20 | package test.tck.msgflow.callflows.router; 21 | 22 | 23 | public class TcpRouterTest extends UdpRouterTest { 24 | boolean myFlag; 25 | 26 | public void setUp() throws Exception { 27 | super.testedImplFlag = !myFlag; 28 | myFlag = !super.testedImplFlag; 29 | super.transport = "tcp"; 30 | super.setUp(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/router/UdpRouterTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Conditions Of Use 3 | * 4 | * This software was developed by employees of the National Institute of 5 | * Standards and Technology (NIST), and others. 6 | * This software is has been contributed to the public domain. 7 | * As a result, a formal license is not needed to use the software. 8 | * 9 | * This software is provided "AS IS." 10 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 11 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 13 | * AND DATA ACCURACY. NIST does not warrant or make any representations 14 | * regarding the use of the software or the results thereof, including but 15 | * not limited to the correctness, accuracy, reliability or usefulness of 16 | * the software. 17 | * 18 | * 19 | */ 20 | package test.tck.msgflow.callflows.router; 21 | 22 | 23 | public class UdpRouterTest extends AbstractRouterTestCase { 24 | //boolean myFlag; 25 | public void setUp() throws Exception { 26 | testedImplFlag = false; 27 | super.transport = "udp"; 28 | super.setUp(); 29 | } 30 | 31 | public void testTelUriInvite() { 32 | this.shootist.sendInvite(); 33 | 34 | } 35 | 36 | /*public void testTelUriInvite2() { 37 | this.shootist.sendInvite(); 38 | }*/ 39 | } 40 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/subsnotify/TcpSubsnotifyTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Conditions Of Use 3 | * 4 | * This software was developed by employees of the National Institute of 5 | * Standards and Technology (NIST), and others. 6 | * This software is has been contributed to the public domain. 7 | * As a result, a formal license is not needed to use the software. 8 | * 9 | * This software is provided "AS IS." 10 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 11 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 13 | * AND DATA ACCURACY. NIST does not warrant or make any representations 14 | * regarding the use of the software or the results thereof, including but 15 | * not limited to the correctness, accuracy, reliability or usefulness of 16 | * the software. 17 | * 18 | * 19 | */ 20 | package test.tck.msgflow.callflows.subsnotify; 21 | 22 | /** 23 | * Test case for TCP transport. 24 | * 25 | * @author M. Ranganathan 26 | * 27 | */ 28 | public class TcpSubsnotifyTest extends UdpSubsnotifyTest { 29 | boolean myFlag; 30 | 31 | public void setUp() throws Exception { 32 | super.testedImplFlag = !myFlag; 33 | myFlag = !super.testedImplFlag; 34 | super.transport = "tcp"; 35 | super.setUp(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/tck/msgflow/callflows/tls/testkeys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/jsip/943edbe2f45146d337f53dc6ca0b49bdf0bfafe5/src/test/tck/msgflow/callflows/tls/testkeys -------------------------------------------------------------------------------- /src/test/torture/ConfigurationSwitches.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Conditions Of Use 3 | * 4 | * This software was developed by employees of the National Institute of 5 | * Standards and Technology (NIST), and others. 6 | * This software is has been contributed to the public domain. 7 | * As a result, a formal license is not needed to use the software. 8 | * 9 | * This software is provided "AS IS." 10 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 11 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 13 | * AND DATA ACCURACY. NIST does not warrant or make any representations 14 | * regarding the use of the software or the results thereof, including but 15 | * not limited to the correctness, accuracy, reliability or usefulness of 16 | * the software. 17 | * 18 | * 19 | */ 20 | package test.torture; 21 | 22 | interface ConfigurationSwitches { 23 | public final static String OUTPUT_PARSED_STRUCTURE = 24 | "output-parsed-structures"; 25 | public final static String DEBUG = "debug"; 26 | public final static String TRUE = "true"; 27 | public final static String TESTLOG = "testlog"; 28 | public final static String ABORT_ON_FAIL = "abort-on-fail"; 29 | public final static String TEST_JAIN = "test-jain"; 30 | public final static String JAIN_TESTLOG = "jaintestlog"; 31 | } 32 | -------------------------------------------------------------------------------- /src/test/torture/README: -------------------------------------------------------------------------------- 1 | This is a set of torture test cases that will be expanded over time. The input 2 | to these test cases is an xml file called torture.xml. 3 | 4 | The input file (torture.xml) consists of both correct and erroneous 5 | SIP messages, URLs and headers. The erroneous SIP messages are expected 6 | to generate exceptions. The exceptions that they generate result in an 7 | exception handler being called (see Torture.java). The test engine tests 8 | to see whether exceptions were generated as expected and whether the right 9 | information was presented to the handler on exception. The format of 10 | the input xml file is self explanatory (see the comments in torture.xml). 11 | 12 | torture.xml contains the SIPPING torture test cases. The parser passes all 13 | the test cases. 14 | 15 | Thanks to Bruno Konik for entering the sipping torture test cases. 16 | 17 | -------------------------------------------------------------------------------- /src/test/torture/TokenValues.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Conditions Of Use 3 | * 4 | * This software was developed by employees of the National Institute of 5 | * Standards and Technology (NIST), and others. 6 | * This software is has been contributed to the public domain. 7 | * As a result, a formal license is not needed to use the software. 8 | * 9 | * This software is provided "AS IS." 10 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 11 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 13 | * AND DATA ACCURACY. NIST does not warrant or make any representations 14 | * regarding the use of the software or the results thereof, including but 15 | * not limited to the correctness, accuracy, reliability or usefulness of 16 | * the software. 17 | * 18 | * 19 | */ 20 | package test.torture; 21 | public interface TokenValues { 22 | public final static String EQUALS = "="; 23 | public final static String SLASH = "/"; 24 | public final static String LESS_THAN = "<"; 25 | public final static String GREATER_THAN = ">"; 26 | } 27 | -------------------------------------------------------------------------------- /src/test/torture/TortureTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Conditions Of Use 3 | * 4 | * This software was developed by employees of the National Institute of 5 | * Standards and Technology (NIST), and others. 6 | * This software is has been contributed to the public domain. 7 | * As a result, a formal license is not needed to use the software. 8 | * 9 | * This software is provided "AS IS." 10 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 11 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 13 | * AND DATA ACCURACY. NIST does not warrant or make any representations 14 | * regarding the use of the software or the results thereof, including but 15 | * not limited to the correctness, accuracy, reliability or usefulness of 16 | * the software. 17 | * 18 | * 19 | */ 20 | package test.torture; 21 | 22 | import junit.framework.TestCase; 23 | 24 | public class TortureTest extends TestCase { 25 | 26 | 27 | public void setUp () { 28 | 29 | } 30 | 31 | public void testParser( ) throws Exception { 32 | Torture torture = new Torture(); 33 | 34 | torture.doTests(); 35 | if (torture.failureFlag) { 36 | fail(torture.failureReason); 37 | } else { 38 | System.out.println("Torture tests passed!"); 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/test/torture/torture.dtd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | -------------------------------------------------------------------------------- /src/test/unit/gov/nist/javax/sip/parser/AcceptEncodingParserTest.java: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Conditions Of Use 4 | * 5 | * This software was developed by employees of the National Institute of 6 | * Standards and Technology (NIST), and others. 7 | * This software is has been contributed to the public domain. 8 | * As a result, a formal license is not needed to use the software. 9 | * 10 | * This software is provided "AS IS." 11 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 12 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 13 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 14 | * AND DATA ACCURACY. NIST does not warrant or make any representations 15 | * regarding the use of the software or the results thereof, including but 16 | * not limited to the correctness, accuracy, reliability or usefulness of 17 | * the software. 18 | * 19 | * 20 | */ 21 | package test.unit.gov.nist.javax.sip.parser; 22 | 23 | import gov.nist.javax.sip.parser.*; 24 | 25 | public class AcceptEncodingParserTest extends ParserTestCase { 26 | 27 | public void testParser() { 28 | String data[] = { "Accept-Encoding: gzip \n" 29 | }; 30 | super.testParser(AcceptEncodingParser.class,data); 31 | } 32 | 33 | } 34 | 35 | -------------------------------------------------------------------------------- /src/test/unit/gov/nist/javax/sip/parser/AcceptLanguageParserTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Conditions Of Use 3 | * 4 | * This software was developed by employees of the National Institute of 5 | * Standards and Technology (NIST), and others. 6 | * This software is has been contributed to the public domain. 7 | * As a result, a formal license is not needed to use the software. 8 | * 9 | * This software is provided "AS IS." 10 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 11 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 13 | * AND DATA ACCURACY. NIST does not warrant or make any representations 14 | * regarding the use of the software or the results thereof, including but 15 | * not limited to the correctness, accuracy, reliability or usefulness of 16 | * the software. 17 | * 18 | * 19 | */ 20 | package test.unit.gov.nist.javax.sip.parser; 21 | 22 | import gov.nist.javax.sip.parser.*; 23 | 24 | public class AcceptLanguageParserTest extends ParserTestCase { 25 | 26 | public void testParser() { 27 | String data[] = { "Accept-Language: da \n", 28 | "Accept-Language: \n", 29 | "Accept-Language: ,\n", 30 | "Accept-Language: da, en-gb;q=0.8\n", 31 | "Accept-Language: *\n" }; 32 | super.testParser(AcceptLanguageParser.class,data); 33 | } 34 | 35 | } 36 | 37 | -------------------------------------------------------------------------------- /src/test/unit/gov/nist/javax/sip/parser/AcceptParserTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Conditions Of Use 3 | * 4 | * This software was developed by employees of the National Institute of 5 | * Standards and Technology (NIST), and others. 6 | * This software is has been contributed to the public domain. 7 | * As a result, a formal license is not needed to use the software. 8 | * 9 | * This software is provided "AS IS." 10 | * NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 11 | * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 13 | * AND DATA ACCURACY. NIST does not warrant or make any representations 14 | * regarding the use of the software or the results thereof, including but 15 | * not limited to the correctness, accuracy, reliability or usefulness of 16 | * the software. 17 | * 18 | * 19 | */ 20 | package test.unit.gov.nist.javax.sip.parser; 21 | 22 | import gov.nist.javax.sip.parser.*; 23 | 24 | public class AcceptParserTest extends ParserTestCase { 25 | 26 | public void testParser() { 27 | String data[] = { "Accept: application/sdp \n", 28 | "Accept: application/sdp;level=1 \n" 29 | }; 30 | super.testParser(AcceptParser.class,data); 31 | } 32 | 33 | } 34 | 35 | -------------------------------------------------------------------------------- /src/test/unit/gov/nist/javax/sip/parser/AlertInfoParserTest.java: -------------------------------------------------------------------------------- 1 | package test.unit.gov.nist.javax.sip.parser; 2 | 3 | import gov.nist.javax.sip.parser.AlertInfoParser; 4 | 5 | public class AlertInfoParserTest extends ParserTestCase { 6 | 7 | 8 | 9 | public void testParser() { 10 | String r[] = { 11 | "Alert-Info:
7 | ![]() |
9 | ![]() | 11 | |