Documentation ¶
Overview ¶
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2017 Sippy Software, Inc. All rights reserved. Copyright (c) 2017 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2014 Sippy Software, Inc. All rights reserved. Copyright (c) 2016 Andriy Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2014 Sippy Software, Inc. All rights reserved. Copyright (c) 2016 Andriy Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2014 Sippy Software, Inc. All rights reserved. Copyright (c) 2016 Andriy Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2014 Sippy Software, Inc. All rights reserved. Copyright (c) 2016 Andriy Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2014 Sippy Software, Inc. All rights reserved. Copyright (c) 2016 Andriy Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2014 Sippy Software, Inc. All rights reserved. Copyright (c) 2016 Andriy Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2015 Sippy Software, Inc. All rights reserved. Copyright (c) 2015 Andrii Pylypenko. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index ¶
- Constants
- Variables
- func NewAsyncReciever(userv *udpServer, logger sippy_log.ErrorLogger) *asyncReceiver
- func NewAsyncResolver(userv *udpServer, logger sippy_log.ErrorLogger) *asyncResolver
- func NewAsyncSender(userv *udpServer) *asyncSender
- func NewClientTransactionObj(req sippy_types.SipRequest, tid *sippy_header.TID, userv sippy_net.Transport, ...) (*clientTransaction, error)
- func NewDefaultSipTransportFactory(config sippy_conf.Config) *default_sip_transport_factory
- func NewLocal4Remote(config sippy_conf.Config, handleIncoming sippy_net.DataPacketReceiver) (*local4remote, error)
- func NewMsgBody(content, mtype string) *msgBody
- func NewRtpProxyClient(opts *rtpProxyClientOpts, config sippy_conf.Config, ...) (sippy_types.RtpProxyClient, error)
- func NewRtpProxyClientOpts() *rtpProxyClientOpts
- func NewServerTransaction(req sippy_types.SipRequest, checksum string, tid *sippy_header.TID, ...) (sippy_types.ServerTransaction, error)
- func NewSipMsg(rtime *sippy_time.MonoTime, config sippy_conf.Config) *sipMsg
- func NewSipRequest(method string, ruri *sippy_header.SipURL, sipver string, ...) (*sipRequest, error)
- func NewSipResponse(scode int, reason, sipver string, from *sippy_header.SipFrom, ...) *sipResponse
- func NewSipTransactionManager(config sippy_conf.Config, call_map sippy_types.CallMap) (*sipTransactionManager, error)
- func NewStatefulProxy(sip_tm sippy_types.SipTransactionManager, destination *sippy_net.HostPort, ...) *statefulProxy
- func NewUacStateRinging(ua sippy_types.UA, rtime *sippy_time.MonoTime, origin string, scode int, ...) sippy_types.UaState
- func NewUdpServer(config sippy_conf.Config, uopts *udpServerOpts) (*udpServer, error)
- func NewUdpServerOpts(laddress *sippy_net.HostPort, data_callback sippy_net.DataPacketReceiver) *udpServerOpts
- func ParseSdpBody(body string) (*sdpBody, error)
- func ParseSipHeader(s string, config sippy_conf.Config) ([]sippy_header.SipHeader, error)
- func ParseSipMsg(_buf []byte, rtime *sippy_time.MonoTime, config sippy_conf.Config) (*sipMsg, error)
- func ParseSipRequest(buf []byte, rtime *sippy_time.MonoTime, config sippy_conf.Config) (*sipRequest, error)
- func ParseSipResponse(buf []byte, rtime *sippy_time.MonoTime, config sippy_conf.Config) (*sipResponse, error)
- type CCEventConnect
- type CCEventDisconnect
- type CCEventFail
- func (self *CCEventFail) GetExtraHeaders() []sippy_header.SipHeader
- func (self *CCEventFail) GetScode() int
- func (self *CCEventFail) GetScodeReason() string
- func (self *CCEventFail) SetScode(scode int)
- func (self *CCEventFail) SetScodeReason(reason string)
- func (self *CCEventFail) SetWarning(text string)
- func (self *CCEventFail) String() string
- type CCEventGeneric
- func (self *CCEventGeneric) AppendExtraHeader(eh sippy_header.SipHeader)
- func (self *CCEventGeneric) GetExtraHeaders() []sippy_header.SipHeader
- func (self *CCEventGeneric) GetMaxForwards() *sippy_header.SipMaxForwards
- func (self *CCEventGeneric) GetOrigin() string
- func (self *CCEventGeneric) GetReason() *sippy_header.SipReason
- func (self *CCEventGeneric) GetRtime() *sippy_time.MonoTime
- func (self *CCEventGeneric) GetSeq() int64
- func (self *CCEventGeneric) SetMaxForwards(max_forwards *sippy_header.SipMaxForwards)
- func (self *CCEventGeneric) SetReason(sip_reason *sippy_header.SipReason)
- type CCEventInfo
- type CCEventPreConnect
- type CCEventRedirect
- func (self *CCEventRedirect) GetContacts() []*sippy_header.SipContact
- func (self *CCEventRedirect) GetRedirectURL() *sippy_header.SipAddress
- func (self *CCEventRedirect) GetRedirectURLs() []*sippy_header.SipAddress
- func (self *CCEventRedirect) SortAddresses()
- func (self *CCEventRedirect) String() string
- type CCEventRing
- type CCEventTry
- func (self *CCEventTry) GetBody() sippy_types.MsgBody
- func (self *CCEventTry) GetCLD() string
- func (self *CCEventTry) GetCLI() string
- func (self *CCEventTry) GetCallerName() string
- func (self *CCEventTry) GetSipAuthorization() *sippy_header.SipAuthorizationBody
- func (self *CCEventTry) GetSipCallId() *sippy_header.SipCallId
- func (self *CCEventTry) GetSipCiscoGUID() *sippy_header.SipCiscoGUID
- func (self *CCEventTry) String() string
- type CCEventUpdate
- type ESipParseException
- type Rtp_proxy_client_base
- func (self *Rtp_proxy_client_base) GetOpts() sippy_types.RtpProxyClientOpts
- func (self *Rtp_proxy_client_base) GetProxyAddress() string
- func (self *Rtp_proxy_client_base) GoOffline()
- func (self *Rtp_proxy_client_base) GoOnline()
- func (self *Rtp_proxy_client_base) Init() error
- func (self *Rtp_proxy_client_base) InitWithAddress(address net.Addr) error
- func (self *Rtp_proxy_client_base) IsLocal() bool
- func (self *Rtp_proxy_client_base) IsOnline() bool
- func (self *Rtp_proxy_client_base) SBindSupported() bool
- func (self *Rtp_proxy_client_base) SendCommand(cmd string, cb func(string), session_lock sync.Locker)
- func (self *Rtp_proxy_client_base) Shutdown()
- func (self *Rtp_proxy_client_base) TNotSupported() bool
- type Rtp_proxy_client_stream
- type Rtp_proxy_client_udp
- type Rtp_proxy_session
- func (self *Rtp_proxy_session) CalleeOrigin() *sippy_sdp.SdpOrigin
- func (self *Rtp_proxy_session) CallerSessionExists() bool
- func (self *Rtp_proxy_session) Delete()
- func (self Rtp_proxy_session) GetProxyAddress() (string, error)
- func (self Rtp_proxy_session) IsLocal() (bool, error)
- func (self *Rtp_proxy_session) OnCalleeSdpChange(sdp_body sippy_types.MsgBody, msg sippy_types.SipMsg, ...) error
- func (self *Rtp_proxy_session) OnCallerSdpChange(sdp_body sippy_types.MsgBody, cc_event sippy_types.CCEvent, ...) error
- func (self *Rtp_proxy_session) PlayCaller(prompt_name string, times int, result_callback func(string), index int)
- func (self Rtp_proxy_session) SBindSupported() (bool, error)
- func (self *Rtp_proxy_session) SetAfterCallerSdpChange(cb func(sippy_types.RtpProxyUpdateResult))
- func (self *Rtp_proxy_session) SetCalleeLaddress(addr string)
- func (self *Rtp_proxy_session) SetCalleeRaddress(addr *sippy_net.HostPort)
- func (self *Rtp_proxy_session) SetCallerLaddress(addr string)
- func (self *Rtp_proxy_session) SetCallerRaddress(addr *sippy_net.HostPort)
- func (self *Rtp_proxy_session) SetInsertNortpp(v bool)
- func (self *Rtp_proxy_session) StartRecording(rname string, result_callback func(string), index int)
- func (self *Rtp_proxy_session) StopPlayCaller(result_callback func(string), index int)
- func (self Rtp_proxy_session) TNotSupported() (bool, error)
- type SipRequestReceiver
- type Timeout
- func NewInactiveTimeout(callback func(), cb_lock sync.Locker, _timeout time.Duration, nticks int, ...) *Timeout
- func StartTimeout(callback func(), cb_lock sync.Locker, _timeout time.Duration, nticks int, ...) *Timeout
- func StartTimeoutWithSpread(callback func(), cb_lock sync.Locker, _timeout time.Duration, nticks int, ...) *Timeout
- type Ua
- func (self *Ua) BeforeRequestSent(sippy_types.SipRequest)
- func (self *Ua) BeforeResponseSent(sippy_types.SipResponse)
- func (self *Ua) CancelCreditTimer()
- func (self *Ua) CancelExpireTimer()
- func (self *Ua) CancelNoProgressTimer()
- func (self *Ua) CancelNoReplyTimer()
- func (self *Ua) ChangeState(newstate sippy_types.UaState)
- func (self *Ua) Config() sippy_conf.Config
- func (self *Ua) ConnCb(rtime *sippy_time.MonoTime, origin string)
- func (self *Ua) DelayedRemoteSdpUpdate(event sippy_types.CCEvent, remote_sdp_body sippy_types.MsgBody)
- func (self *Ua) DiscCb(rtime *sippy_time.MonoTime, origin string, scode int, ...)
- func (self *Ua) Disconnect(rtime *sippy_time.MonoTime)
- func (self *Ua) EmitEvent(event sippy_types.CCEvent)
- func (self *Ua) Enqueue(event sippy_types.CCEvent)
- func (self *Ua) FailCb(rtime *sippy_time.MonoTime, origin string, scode int)
- func (self *Ua) GenRequest(method string, body sippy_types.MsgBody, nonce string, realm string, ...) (sippy_types.SipRequest, error)
- func (self *Ua) GetAcct(disconnect_ts *sippy_time.MonoTime) (duration time.Duration, delay time.Duration, connected bool, disconnected bool)
- func (self *Ua) GetCGUID() *sippy_header.SipCiscoGUID
- func (self *Ua) GetCLD() string
- func (self *Ua) GetCLI() string
- func (self *Ua) GetCallId() *sippy_header.SipCallId
- func (self *Ua) GetClientTransaction() sippy_types.ClientTransaction
- func (self *Ua) GetConnCb() sippy_types.OnConnectListener
- func (self *Ua) GetConnectTs() *sippy_time.MonoTime
- func (self *Ua) GetController() sippy_types.CallController
- func (self *Ua) GetDeadCb() sippy_types.OnDeadListener
- func (self *Ua) GetDiscCb() sippy_types.OnDisconnectListener
- func (self *Ua) GetDisconnectTs() *sippy_time.MonoTime
- func (self *Ua) GetExMtime() *sippy_time.MonoTime
- func (self *Ua) GetExpireTime() time.Duration
- func (self *Ua) GetFailCb() sippy_types.OnFailureListener
- func (self *Ua) GetFromDomain() string
- func (self *Ua) GetGoDeadTimeout() time.Duration
- func (self *Ua) GetKaInterval() time.Duration
- func (self *Ua) GetLContact() *sippy_header.SipContact
- func (self *Ua) GetLContacts() []*sippy_header.SipContact
- func (self *Ua) GetLSDP() sippy_types.MsgBody
- func (self *Ua) GetLTag() string
- func (self *Ua) GetLUri() *sippy_header.SipFrom
- func (self *Ua) GetLastScode() int
- func (self *Ua) GetLateMedia() bool
- func (self *Ua) GetLocalUA() *sippy_header.SipUserAgent
- func (self *Ua) GetNoProgressTime() time.Duration
- func (self *Ua) GetNoReplyTime() time.Duration
- func (self *Ua) GetNpMtime() *sippy_time.MonoTime
- func (self *Ua) GetNrMtime() *sippy_time.MonoTime
- func (self *Ua) GetOnLocalSdpChange() sippy_types.OnLocalSdpChange
- func (self *Ua) GetOnRemoteSdpChange() sippy_types.OnRemoteSdpChange
- func (self *Ua) GetOrigin() string
- func (self *Ua) GetOutboundProxy() *sippy_net.HostPort
- func (self *Ua) GetP100Ts() *sippy_time.MonoTime
- func (self *Ua) GetP1xxTs() *sippy_time.MonoTime
- func (self *Ua) GetPassAuth() bool
- func (self *Ua) GetPassword() string
- func (self *Ua) GetPendingTr() sippy_types.ClientTransaction
- func (self *Ua) GetRAddr() *sippy_net.HostPort
- func (self *Ua) GetRAddr0() *sippy_net.HostPort
- func (self *Ua) GetRSDP() sippy_types.MsgBody
- func (self *Ua) GetRTarget() *sippy_header.SipURL
- func (self *Ua) GetRUri() *sippy_header.SipTo
- func (self *Ua) GetRemoteUA() string
- func (self *Ua) GetRuriUserparams() []string
- func (self *Ua) GetSessionLock() sync.Locker
- func (self *Ua) GetSetupTs() *sippy_time.MonoTime
- func (self *Ua) GetSourceAddress() *sippy_net.HostPort
- func (self *Ua) GetState() sippy_types.UaState
- func (self *Ua) GetToUsername() string
- func (self *Ua) GetUasLossEmul() int
- func (self *Ua) GetUasResp() sippy_types.SipResponse
- func (self *Ua) GetUsername() string
- func (self *Ua) HasNoProgressTimer() bool
- func (self *Ua) HasNoReplyTimer() bool
- func (self *Ua) HasOnLocalSdpChange() bool
- func (self *Ua) HasOnRemoteSdpChange() bool
- func (self *Ua) IncLCSeq()
- func (self *Ua) IsYours(req sippy_types.SipRequest, br0k3n_to bool) bool
- func (self *Ua) OnDead()
- func (self *Ua) OnLocalSdpChange(body sippy_types.MsgBody, event sippy_types.CCEvent, ...) error
- func (self *Ua) OnRemoteSdpChange(body sippy_types.MsgBody, req sippy_types.SipMsg, ...) error
- func (self *Ua) OnUnregister()
- func (self *Ua) PrepTr(req sippy_types.SipRequest) (sippy_types.ClientTransaction, error)
- func (self *Ua) RecvEvent(event sippy_types.CCEvent)
- func (self *Ua) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) *sippy_types.Ua_context
- func (self *Ua) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction)
- func (self *Ua) ResetCreditTime(rtime *sippy_time.MonoTime, new_credit_times map[int64]*sippy_time.MonoTime)
- func (self *Ua) ResetOnLocalSdpChange()
- func (self *Ua) ResetOnRemoteSdpChange()
- func (self *Ua) RingCb(rtime *sippy_time.MonoTime, origin string, scode int)
- func (self *Ua) SendUasResponse(t sippy_types.ServerTransaction, scode int, reason string, ...)
- func (self *Ua) SetAuth(auth sippy_header.SipHeader)
- func (self *Ua) SetBranch(branch string)
- func (self *Ua) SetCGUID(cguid *sippy_header.SipCiscoGUID)
- func (self *Ua) SetCallId(call_id *sippy_header.SipCallId)
- func (self *Ua) SetClientTransaction(tr sippy_types.ClientTransaction)
- func (self *Ua) SetConnCb(conn_cb sippy_types.OnConnectListener)
- func (self *Ua) SetConnectTs(connect_ts *sippy_time.MonoTime)
- func (self *Ua) SetCreditTime(credit_time time.Duration)
- func (self *Ua) SetDeadCb(dead_cb sippy_types.OnDeadListener)
- func (self *Ua) SetDiscCb(disc_cb sippy_types.OnDisconnectListener)
- func (self *Ua) SetDisconnectTs(ts *sippy_time.MonoTime)
- func (self *Ua) SetExMtime(t *sippy_time.MonoTime)
- func (self *Ua) SetExpireTime(expire_time time.Duration)
- func (self *Ua) SetExtraHeaders(extra_headers []sippy_header.SipHeader)
- func (self *Ua) SetFailCb(fail_cb sippy_types.OnFailureListener)
- func (self *Ua) SetFromDomain(from_domain string)
- func (self *Ua) SetH323ConfId(h323_conf_id *sippy_header.SipH323ConfId)
- func (self *Ua) SetKaInterval(ka time.Duration)
- func (self *Ua) SetLCSeq(cseq int)
- func (self *Ua) SetLContact(contact *sippy_header.SipContact)
- func (self *Ua) SetLSDP(msg sippy_types.MsgBody)
- func (self *Ua) SetLUri(from *sippy_header.SipFrom)
- func (self *Ua) SetLastScode(scode int)
- func (self *Ua) SetLateMedia(late_media bool)
- func (self *Ua) SetLocalUA(ua *sippy_header.SipUserAgent)
- func (self *Ua) SetNoProgressTime(no_progress_time time.Duration)
- func (self *Ua) SetNoReplyTime(no_reply_time time.Duration)
- func (self *Ua) SetNpMtime(t *sippy_time.MonoTime)
- func (self *Ua) SetNrMtime(t *sippy_time.MonoTime)
- func (self *Ua) SetOnLocalSdpChange(on_local_sdp_change sippy_types.OnLocalSdpChange)
- func (self *Ua) SetOnRemoteSdpChange(on_remote_sdp_change sippy_types.OnRemoteSdpChange)
- func (self *Ua) SetOrigin(origin string)
- func (self *Ua) SetOutboundProxy(outbound_proxy *sippy_net.HostPort)
- func (self *Ua) SetP100Ts(ts *sippy_time.MonoTime)
- func (self *Ua) SetP1xxTs(ts *sippy_time.MonoTime)
- func (self *Ua) SetPassword(passwd string)
- func (self *Ua) SetPendingTr(tr sippy_types.ClientTransaction)
- func (self *Ua) SetRAddr(addr *sippy_net.HostPort)
- func (self *Ua) SetRAddr0(addr *sippy_net.HostPort)
- func (self *Ua) SetRSDP(sdp sippy_types.MsgBody)
- func (self *Ua) SetRTarget(url *sippy_header.SipURL)
- func (self *Ua) SetRUri(ruri *sippy_header.SipTo)
- func (self *Ua) SetRoutes(routes []*sippy_header.SipRoute)
- func (self *Ua) SetRuriUserparams(ruri_userparams []string)
- func (self *Ua) SetSetupTs(ts *sippy_time.MonoTime)
- func (self *Ua) SetSourceAddress(addr *sippy_net.HostPort)
- func (self *Ua) SetToUsername(to_username string)
- func (self *Ua) SetUasResp(resp sippy_types.SipResponse)
- func (self *Ua) SetUsername(username string)
- func (self *Ua) ShouldUseRefer() bool
- func (self *Ua) SipTM() sippy_types.SipTransactionManager
- func (self *Ua) StartCreditTimer(rtime *sippy_time.MonoTime)
- func (self *Ua) StartExpireTimer(t *sippy_time.MonoTime)
- func (self *Ua) StartNoProgressTimer(t *sippy_time.MonoTime)
- func (self *Ua) StartNoReplyTimer(t *sippy_time.MonoTime)
- func (self *Ua) String() string
- func (self *Ua) UasLossEmul() int
- func (self *Ua) UpdateRouting(resp sippy_types.SipResponse, update_rtarget bool, reverse_routes bool)
- type UaStateConnected
- func (self UaStateConnected) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UaStateConnected) IsConnected() bool
- func (self *UaStateConnected) OnActivation()
- func (self *UaStateConnected) OnStateChange()
- func (self *UaStateConnected) RecvACK(req sippy_types.SipRequest)
- func (self *UaStateConnected) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self *UaStateConnected) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UaStateConnected) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UaStateConnected) String() string
- type UaStateDead
- func (self UaStateDead) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UaStateDead) IsConnected() bool
- func (self *UaStateDead) OnActivation()
- func (UaStateDead) OnStateChange()
- func (UaStateDead) RecvACK(sippy_types.SipRequest)
- func (self UaStateDead) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self UaStateDead) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UaStateDead) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UaStateDead) String() string
- type UaStateDisconnected
- func (self UaStateDisconnected) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UaStateDisconnected) IsConnected() bool
- func (self *UaStateDisconnected) OnActivation()
- func (UaStateDisconnected) OnStateChange()
- func (UaStateDisconnected) RecvACK(sippy_types.SipRequest)
- func (self UaStateDisconnected) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self *UaStateDisconnected) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UaStateDisconnected) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UaStateDisconnected) String() string
- type UaStateFailed
- func (self UaStateFailed) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UaStateFailed) IsConnected() bool
- func (self *UaStateFailed) OnActivation()
- func (UaStateFailed) OnStateChange()
- func (UaStateFailed) RecvACK(sippy_types.SipRequest)
- func (self UaStateFailed) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self UaStateFailed) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UaStateFailed) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UaStateFailed) String() string
- type UacStateCancelling
- func (self UacStateCancelling) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UacStateCancelling) IsConnected() bool
- func (self *UacStateCancelling) OnActivation()
- func (UacStateCancelling) OnStateChange()
- func (UacStateCancelling) RecvACK(sippy_types.SipRequest)
- func (self *UacStateCancelling) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self UacStateCancelling) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self *UacStateCancelling) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UacStateCancelling) String() string
- type UacStateIdle
- func (self UacStateIdle) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UacStateIdle) IsConnected() bool
- func (self *UacStateIdle) OnActivation()
- func (UacStateIdle) OnStateChange()
- func (UacStateIdle) RecvACK(sippy_types.SipRequest)
- func (self *UacStateIdle) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self UacStateIdle) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UacStateIdle) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UacStateIdle) String() string
- type UacStateRinging
- func (self UacStateRinging) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UacStateRinging) IsConnected() bool
- func (self *UacStateRinging) OnActivation()
- func (UacStateRinging) OnStateChange()
- func (UacStateRinging) RecvACK(sippy_types.SipRequest)
- func (self *UacStateRinging) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self UacStateRinging) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self *UacStateRinging) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UacStateRinging) String() string
- type UacStateTrying
- func (self UacStateTrying) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UacStateTrying) IsConnected() bool
- func (self *UacStateTrying) OnActivation()
- func (UacStateTrying) OnStateChange()
- func (UacStateTrying) RecvACK(sippy_types.SipRequest)
- func (self *UacStateTrying) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self UacStateTrying) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self *UacStateTrying) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UacStateTrying) String() string
- type UacStateUpdating
- func (self UacStateUpdating) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UacStateUpdating) IsConnected() bool
- func (self *UacStateUpdating) OnActivation()
- func (UacStateUpdating) OnStateChange()
- func (UacStateUpdating) RecvACK(sippy_types.SipRequest)
- func (self *UacStateUpdating) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self *UacStateUpdating) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self *UacStateUpdating) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UacStateUpdating) String() string
- type UasStateIdle
- func (self UasStateIdle) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UasStateIdle) IsConnected() bool
- func (self *UasStateIdle) OnActivation()
- func (UasStateIdle) OnStateChange()
- func (UasStateIdle) RecvACK(sippy_types.SipRequest)
- func (self UasStateIdle) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self *UasStateIdle) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UasStateIdle) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UasStateIdle) String() string
- type UasStateRinging
- func (self *UasStateRinging) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UasStateRinging) IsConnected() bool
- func (self *UasStateRinging) OnActivation()
- func (UasStateRinging) OnStateChange()
- func (UasStateRinging) RecvACK(sippy_types.SipRequest)
- func (self *UasStateRinging) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self *UasStateRinging) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UasStateRinging) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UasStateRinging) String() string
- type UasStateTrying
- func (self *UasStateTrying) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
- func (self UasStateTrying) IsConnected() bool
- func (self *UasStateTrying) OnActivation()
- func (UasStateTrying) OnStateChange()
- func (UasStateTrying) RecvACK(sippy_types.SipRequest)
- func (self *UasStateTrying) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self UasStateTrying) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UasStateTrying) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UasStateTrying) String() string
- type UasStateUpdating
- func (self *UasStateUpdating) Cancel(rtime *sippy_time.MonoTime, inreq sippy_types.SipRequest)
- func (self UasStateUpdating) IsConnected() bool
- func (self *UasStateUpdating) OnActivation()
- func (UasStateUpdating) OnStateChange()
- func (UasStateUpdating) RecvACK(sippy_types.SipRequest)
- func (self *UasStateUpdating) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, error)
- func (self *UasStateUpdating) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
- func (self UasStateUpdating) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
- func (self *UasStateUpdating) String() string
Constants ¶
const ( TRYING = iota RINGING COMPLETED CONFIRMED TERMINATED UACK )
Variables ¶
Functions ¶
func NewAsyncReciever ¶
func NewAsyncReciever(userv *udpServer, logger sippy_log.ErrorLogger) *asyncReceiver
func NewAsyncResolver ¶
func NewAsyncResolver(userv *udpServer, logger sippy_log.ErrorLogger) *asyncResolver
func NewAsyncSender ¶
func NewAsyncSender(userv *udpServer) *asyncSender
func NewClientTransactionObj ¶
func NewClientTransactionObj(req sippy_types.SipRequest, tid *sippy_header.TID, userv sippy_net.Transport, data []byte, sip_tm *sipTransactionManager, resp_receiver sippy_types.ResponseReceiver, session_lock sync.Locker, address *sippy_net.HostPort, req_out_cb func(sippy_types.SipRequest)) (*clientTransaction, error)
func NewDefaultSipTransportFactory ¶
func NewDefaultSipTransportFactory(config sippy_conf.Config) *default_sip_transport_factory
func NewLocal4Remote ¶
func NewLocal4Remote(config sippy_conf.Config, handleIncoming sippy_net.DataPacketReceiver) (*local4remote, error)
func NewMsgBody ¶
func NewMsgBody(content, mtype string) *msgBody
func NewRtpProxyClient ¶
func NewRtpProxyClient(opts *rtpProxyClientOpts, config sippy_conf.Config, logger sippy_log.ErrorLogger) (sippy_types.RtpProxyClient, error)
func NewRtpProxyClientOpts ¶
func NewRtpProxyClientOpts() *rtpProxyClientOpts
func NewServerTransaction ¶
func NewSipRequest ¶
func NewSipRequest(method string, ruri *sippy_header.SipURL, sipver string, to *sippy_header.SipTo, from *sippy_header.SipFrom, via *sippy_header.SipVia, cseq int, callid *sippy_header.SipCallId, maxforwards *sippy_header.SipMaxForwards, body sippy_types.MsgBody, contact *sippy_header.SipContact, routes []*sippy_header.SipRoute, target *sippy_net.HostPort, cguid *sippy_header.SipCiscoGUID, user_agent *sippy_header.SipUserAgent, expires *sippy_header.SipExpires, config sippy_conf.Config) (*sipRequest, error)
func NewSipResponse ¶
func NewSipResponse(scode int, reason, sipver string, from *sippy_header.SipFrom, callid *sippy_header.SipCallId, vias []*sippy_header.SipVia, to *sippy_header.SipTo, cseq *sippy_header.SipCSeq, rrs []*sippy_header.SipRecordRoute, body sippy_types.MsgBody, server *sippy_header.SipServer, config sippy_conf.Config) *sipResponse
func NewSipTransactionManager ¶
func NewSipTransactionManager(config sippy_conf.Config, call_map sippy_types.CallMap) (*sipTransactionManager, error)
func NewStatefulProxy ¶
func NewStatefulProxy(sip_tm sippy_types.SipTransactionManager, destination *sippy_net.HostPort, config sippy_conf.Config) *statefulProxy
func NewUacStateRinging ¶
func NewUdpServer ¶
func NewUdpServer(config sippy_conf.Config, uopts *udpServerOpts) (*udpServer, error)
func NewUdpServerOpts ¶
func NewUdpServerOpts(laddress *sippy_net.HostPort, data_callback sippy_net.DataPacketReceiver) *udpServerOpts
func ParseSdpBody ¶
func ParseSipHeader ¶
func ParseSipMsg ¶
func ParseSipRequest ¶
func ParseSipResponse ¶
Types ¶
type CCEventConnect ¶
type CCEventConnect struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventConnect ¶
func NewCCEventConnect(scode int, scode_reason string, msg_body sippy_types.MsgBody, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) *CCEventConnect
func (*CCEventConnect) GetBody ¶
func (self *CCEventConnect) GetBody() sippy_types.MsgBody
func (*CCEventConnect) String ¶
func (self *CCEventConnect) String() string
type CCEventDisconnect ¶
type CCEventDisconnect struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventDisconnect ¶
func NewCCEventDisconnect(also *sippy_header.SipAddress, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) *CCEventDisconnect
func (*CCEventDisconnect) GetRedirectURL ¶
func (self *CCEventDisconnect) GetRedirectURL() *sippy_header.SipAddress
func (*CCEventDisconnect) String ¶
func (self *CCEventDisconnect) String() string
type CCEventFail ¶
type CCEventFail struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventFail ¶
func NewCCEventFail(scode int, scode_reason string, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) *CCEventFail
func (*CCEventFail) GetExtraHeaders ¶
func (self *CCEventFail) GetExtraHeaders() []sippy_header.SipHeader
func (*CCEventFail) GetScode ¶
func (self *CCEventFail) GetScode() int
func (*CCEventFail) GetScodeReason ¶
func (self *CCEventFail) GetScodeReason() string
func (*CCEventFail) SetScode ¶
func (self *CCEventFail) SetScode(scode int)
func (*CCEventFail) SetScodeReason ¶
func (self *CCEventFail) SetScodeReason(reason string)
func (*CCEventFail) SetWarning ¶
func (self *CCEventFail) SetWarning(text string)
func (*CCEventFail) String ¶
func (self *CCEventFail) String() string
type CCEventGeneric ¶
type CCEventGeneric struct {
// contains filtered or unexported fields
}
func (*CCEventGeneric) AppendExtraHeader ¶
func (self *CCEventGeneric) AppendExtraHeader(eh sippy_header.SipHeader)
func (*CCEventGeneric) GetExtraHeaders ¶
func (self *CCEventGeneric) GetExtraHeaders() []sippy_header.SipHeader
func (*CCEventGeneric) GetMaxForwards ¶
func (self *CCEventGeneric) GetMaxForwards() *sippy_header.SipMaxForwards
func (*CCEventGeneric) GetOrigin ¶
func (self *CCEventGeneric) GetOrigin() string
func (*CCEventGeneric) GetReason ¶
func (self *CCEventGeneric) GetReason() *sippy_header.SipReason
func (*CCEventGeneric) GetRtime ¶
func (self *CCEventGeneric) GetRtime() *sippy_time.MonoTime
func (*CCEventGeneric) GetSeq ¶
func (self *CCEventGeneric) GetSeq() int64
func (*CCEventGeneric) SetMaxForwards ¶
func (self *CCEventGeneric) SetMaxForwards(max_forwards *sippy_header.SipMaxForwards)
func (*CCEventGeneric) SetReason ¶
func (self *CCEventGeneric) SetReason(sip_reason *sippy_header.SipReason)
type CCEventInfo ¶
type CCEventInfo struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventInfo ¶
func NewCCEventInfo(rtime *sippy_time.MonoTime, origin string, msg_body sippy_types.MsgBody, extra_headers ...sippy_header.SipHeader) *CCEventInfo
func (*CCEventInfo) GetBody ¶
func (self *CCEventInfo) GetBody() sippy_types.MsgBody
func (*CCEventInfo) String ¶
func (self *CCEventInfo) String() string
type CCEventPreConnect ¶
type CCEventPreConnect struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventPreConnect ¶
func NewCCEventPreConnect(scode int, scode_reason string, body sippy_types.MsgBody, rtime *sippy_time.MonoTime, origin string) *CCEventPreConnect
func (*CCEventPreConnect) GetScode ¶
func (self *CCEventPreConnect) GetScode() int
func (*CCEventPreConnect) GetScodeReason ¶
func (self *CCEventPreConnect) GetScodeReason() string
func (*CCEventPreConnect) String ¶
func (self *CCEventPreConnect) String() string
type CCEventRedirect ¶
type CCEventRedirect struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventRedirect ¶
func NewCCEventRedirect(scode int, scode_reason string, body sippy_types.MsgBody, addrs []*sippy_header.SipAddress, rtime *sippy_time.MonoTime, origin string, config sippy_conf.Config, extra_headers ...sippy_header.SipHeader) *CCEventRedirect
func (*CCEventRedirect) GetContacts ¶
func (self *CCEventRedirect) GetContacts() []*sippy_header.SipContact
func (*CCEventRedirect) GetRedirectURL ¶
func (self *CCEventRedirect) GetRedirectURL() *sippy_header.SipAddress
func (*CCEventRedirect) GetRedirectURLs ¶
func (self *CCEventRedirect) GetRedirectURLs() []*sippy_header.SipAddress
func (*CCEventRedirect) SortAddresses ¶
func (self *CCEventRedirect) SortAddresses()
func (*CCEventRedirect) String ¶
func (self *CCEventRedirect) String() string
type CCEventRing ¶
type CCEventRing struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventRing ¶
func NewCCEventRing(scode int, scode_reason string, body sippy_types.MsgBody, rtime *sippy_time.MonoTime, origin string) *CCEventRing
func (*CCEventRing) GetBody ¶
func (self *CCEventRing) GetBody() sippy_types.MsgBody
func (*CCEventRing) GetScode ¶
func (self *CCEventRing) GetScode() int
func (*CCEventRing) String ¶
func (self *CCEventRing) String() string
type CCEventTry ¶
type CCEventTry struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventTry ¶
func NewCCEventTry(call_id *sippy_header.SipCallId, cisco_guid *sippy_header.SipCiscoGUID, cli string, cld string, body sippy_types.MsgBody, auth *sippy_header.SipAuthorizationBody, caller_name string, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) *CCEventTry
func (*CCEventTry) GetBody ¶
func (self *CCEventTry) GetBody() sippy_types.MsgBody
func (*CCEventTry) GetCLD ¶
func (self *CCEventTry) GetCLD() string
func (*CCEventTry) GetCLI ¶
func (self *CCEventTry) GetCLI() string
func (*CCEventTry) GetCallerName ¶
func (self *CCEventTry) GetCallerName() string
func (*CCEventTry) GetSipAuthorization ¶
func (self *CCEventTry) GetSipAuthorization() *sippy_header.SipAuthorizationBody
func (*CCEventTry) GetSipCallId ¶
func (self *CCEventTry) GetSipCallId() *sippy_header.SipCallId
func (*CCEventTry) GetSipCiscoGUID ¶
func (self *CCEventTry) GetSipCiscoGUID() *sippy_header.SipCiscoGUID
func (*CCEventTry) String ¶
func (self *CCEventTry) String() string
type CCEventUpdate ¶
type CCEventUpdate struct { CCEventGeneric // contains filtered or unexported fields }
func NewCCEventUpdate ¶
func NewCCEventUpdate(rtime *sippy_time.MonoTime, origin string, reason *sippy_header.SipReason, max_forwards *sippy_header.SipMaxForwards, msg_body sippy_types.MsgBody) *CCEventUpdate
func (*CCEventUpdate) GetBody ¶
func (self *CCEventUpdate) GetBody() sippy_types.MsgBody
func (*CCEventUpdate) String ¶
func (self *CCEventUpdate) String() string
type ESipParseException ¶
type ESipParseException struct {
// contains filtered or unexported fields
}
func (*ESipParseException) Error ¶
func (self *ESipParseException) Error() string
type Rtp_proxy_client_base ¶
type Rtp_proxy_client_base struct {
// contains filtered or unexported fields
}
func NewRtp_proxy_client_base ¶
func NewRtp_proxy_client_base(heir sippy_types.RtpProxyClient, global_config sippy_conf.Config, opts *rtpProxyClientOpts, logger sippy_log.ErrorLogger) *Rtp_proxy_client_base
func (*Rtp_proxy_client_base) GetOpts ¶
func (self *Rtp_proxy_client_base) GetOpts() sippy_types.RtpProxyClientOpts
func (*Rtp_proxy_client_base) GetProxyAddress ¶
func (self *Rtp_proxy_client_base) GetProxyAddress() string
func (*Rtp_proxy_client_base) GoOffline ¶
func (self *Rtp_proxy_client_base) GoOffline()
func (*Rtp_proxy_client_base) GoOnline ¶
func (self *Rtp_proxy_client_base) GoOnline()
func (*Rtp_proxy_client_base) Init ¶
func (self *Rtp_proxy_client_base) Init() error
func (*Rtp_proxy_client_base) InitWithAddress ¶
func (self *Rtp_proxy_client_base) InitWithAddress(address net.Addr) error
func (*Rtp_proxy_client_base) IsLocal ¶
func (self *Rtp_proxy_client_base) IsLocal() bool
func (*Rtp_proxy_client_base) IsOnline ¶
func (self *Rtp_proxy_client_base) IsOnline() bool
func (*Rtp_proxy_client_base) SBindSupported ¶
func (self *Rtp_proxy_client_base) SBindSupported() bool
func (*Rtp_proxy_client_base) SendCommand ¶
func (self *Rtp_proxy_client_base) SendCommand(cmd string, cb func(string), session_lock sync.Locker)
func (*Rtp_proxy_client_base) Shutdown ¶
func (self *Rtp_proxy_client_base) Shutdown()
func (*Rtp_proxy_client_base) TNotSupported ¶
func (self *Rtp_proxy_client_base) TNotSupported() bool
type Rtp_proxy_client_stream ¶
type Rtp_proxy_client_stream struct {
// contains filtered or unexported fields
}
type Rtp_proxy_client_udp ¶
type Rtp_proxy_client_udp struct {
// contains filtered or unexported fields
}
type Rtp_proxy_session ¶
type Rtp_proxy_session struct {
// contains filtered or unexported fields
}
func NewRtp_proxy_session ¶
func NewRtp_proxy_session(config sippy_conf.Config, rtp_proxy_clients []sippy_types.RtpProxyClient, call_id, from_tag, to_tag, notify_socket, notify_tag string, session_lock sync.Locker, callee_origin *sippy_sdp.SdpOrigin) (*Rtp_proxy_session, error)
func (*Rtp_proxy_session) CalleeOrigin ¶
func (self *Rtp_proxy_session) CalleeOrigin() *sippy_sdp.SdpOrigin
func (*Rtp_proxy_session) CallerSessionExists ¶
func (self *Rtp_proxy_session) CallerSessionExists() bool
func (*Rtp_proxy_session) Delete ¶
func (self *Rtp_proxy_session) Delete()
func (Rtp_proxy_session) GetProxyAddress ¶
func (self Rtp_proxy_session) GetProxyAddress() (string, error)
func (Rtp_proxy_session) IsLocal ¶
func (self Rtp_proxy_session) IsLocal() (bool, error)
func (*Rtp_proxy_session) OnCalleeSdpChange ¶
func (self *Rtp_proxy_session) OnCalleeSdpChange(sdp_body sippy_types.MsgBody, msg sippy_types.SipMsg, result_callback func(sippy_types.MsgBody)) error
func (*Rtp_proxy_session) OnCallerSdpChange ¶
func (self *Rtp_proxy_session) OnCallerSdpChange(sdp_body sippy_types.MsgBody, cc_event sippy_types.CCEvent, result_callback func(sippy_types.MsgBody)) error
func (*Rtp_proxy_session) PlayCaller ¶
func (self *Rtp_proxy_session) PlayCaller(prompt_name string, times int, result_callback func(string), index int)
def version(self, result_callback):
self.send_command("V", self.version_result, result_callback)
def version_result(self, result, result_callback):
result_callback(result)
func (Rtp_proxy_session) SBindSupported ¶
func (self Rtp_proxy_session) SBindSupported() (bool, error)
func (*Rtp_proxy_session) SetAfterCallerSdpChange ¶
func (self *Rtp_proxy_session) SetAfterCallerSdpChange(cb func(sippy_types.RtpProxyUpdateResult))
func (*Rtp_proxy_session) SetCalleeLaddress ¶
func (self *Rtp_proxy_session) SetCalleeLaddress(addr string)
func (*Rtp_proxy_session) SetCalleeRaddress ¶
func (self *Rtp_proxy_session) SetCalleeRaddress(addr *sippy_net.HostPort)
func (*Rtp_proxy_session) SetCallerLaddress ¶
func (self *Rtp_proxy_session) SetCallerLaddress(addr string)
func (*Rtp_proxy_session) SetCallerRaddress ¶
func (self *Rtp_proxy_session) SetCallerRaddress(addr *sippy_net.HostPort)
func (*Rtp_proxy_session) SetInsertNortpp ¶
func (self *Rtp_proxy_session) SetInsertNortpp(v bool)
func (*Rtp_proxy_session) StartRecording ¶
func (self *Rtp_proxy_session) StartRecording(rname string, result_callback func(string), index int)
func (*Rtp_proxy_session) StopPlayCaller ¶
func (self *Rtp_proxy_session) StopPlayCaller(result_callback func(string), index int)
func (Rtp_proxy_session) TNotSupported ¶
func (self Rtp_proxy_session) TNotSupported() (bool, error)
type SipRequestReceiver ¶
type SipRequestReceiver func(sippy_types.SipRequest) *sippy_types.Ua_context
type Timeout ¶
type Timeout struct {
// contains filtered or unexported fields
}
func NewInactiveTimeout ¶
func StartTimeout ¶
func StartTimeoutWithSpread ¶
func (*Timeout) SpreadRuns ¶
type Ua ¶
type Ua struct {
// contains filtered or unexported fields
}
func (*Ua) BeforeRequestSent ¶
func (self *Ua) BeforeRequestSent(sippy_types.SipRequest)
func (*Ua) BeforeResponseSent ¶
func (self *Ua) BeforeResponseSent(sippy_types.SipResponse)
func (*Ua) CancelCreditTimer ¶
func (self *Ua) CancelCreditTimer()
func (*Ua) CancelExpireTimer ¶
func (self *Ua) CancelExpireTimer()
func (*Ua) CancelNoProgressTimer ¶
func (self *Ua) CancelNoProgressTimer()
func (*Ua) CancelNoReplyTimer ¶
func (self *Ua) CancelNoReplyTimer()
func (*Ua) ChangeState ¶
func (self *Ua) ChangeState(newstate sippy_types.UaState)
func (*Ua) DelayedRemoteSdpUpdate ¶
func (self *Ua) DelayedRemoteSdpUpdate(event sippy_types.CCEvent, remote_sdp_body sippy_types.MsgBody)
func (*Ua) Disconnect ¶
func (self *Ua) Disconnect(rtime *sippy_time.MonoTime)
func (*Ua) GenRequest ¶
func (*Ua) GetClientTransaction ¶
func (self *Ua) GetClientTransaction() sippy_types.ClientTransaction
func (*Ua) GetConnectTs ¶
func (self *Ua) GetConnectTs() *sippy_time.MonoTime
func (*Ua) GetController ¶
func (self *Ua) GetController() sippy_types.CallController
func (*Ua) GetDisconnectTs ¶
func (self *Ua) GetDisconnectTs() *sippy_time.MonoTime
func (*Ua) GetExMtime ¶
func (self *Ua) GetExMtime() *sippy_time.MonoTime
func (*Ua) GetExpireTime ¶
func (*Ua) GetFromDomain ¶
func (*Ua) GetGoDeadTimeout ¶
func (*Ua) GetKaInterval ¶
func (*Ua) GetLContact ¶
func (self *Ua) GetLContact() *sippy_header.SipContact
func (*Ua) GetLContacts ¶
func (self *Ua) GetLContacts() []*sippy_header.SipContact
func (*Ua) GetLastScode ¶
func (*Ua) GetLateMedia ¶
func (*Ua) GetLocalUA ¶
func (self *Ua) GetLocalUA() *sippy_header.SipUserAgent
func (*Ua) GetNoProgressTime ¶
func (*Ua) GetNoReplyTime ¶
func (*Ua) GetNpMtime ¶
func (self *Ua) GetNpMtime() *sippy_time.MonoTime
func (*Ua) GetNrMtime ¶
func (self *Ua) GetNrMtime() *sippy_time.MonoTime
func (*Ua) GetOnLocalSdpChange ¶
func (self *Ua) GetOnLocalSdpChange() sippy_types.OnLocalSdpChange
func (*Ua) GetOnRemoteSdpChange ¶
func (self *Ua) GetOnRemoteSdpChange() sippy_types.OnRemoteSdpChange
func (*Ua) GetOutboundProxy ¶
func (self *Ua) GetOutboundProxy() *sippy_net.HostPort
func (*Ua) GetPassAuth ¶
func (*Ua) GetPassword ¶
func (*Ua) GetPendingTr ¶
func (self *Ua) GetPendingTr() sippy_types.ClientTransaction
func (*Ua) GetRTarget ¶
func (self *Ua) GetRTarget() *sippy_header.SipURL
func (*Ua) GetRemoteUA ¶
func (*Ua) GetRuriUserparams ¶
func (*Ua) GetSessionLock ¶
func (*Ua) GetSetupTs ¶
func (self *Ua) GetSetupTs() *sippy_time.MonoTime
func (*Ua) GetSourceAddress ¶
func (self *Ua) GetSourceAddress() *sippy_net.HostPort
func (*Ua) GetToUsername ¶
func (*Ua) GetUasLossEmul ¶
func (*Ua) GetUasResp ¶
func (self *Ua) GetUasResp() sippy_types.SipResponse
func (*Ua) GetUsername ¶
func (*Ua) HasNoProgressTimer ¶
func (*Ua) HasNoReplyTimer ¶
func (*Ua) HasOnLocalSdpChange ¶
func (*Ua) HasOnRemoteSdpChange ¶
func (*Ua) OnLocalSdpChange ¶
func (*Ua) OnRemoteSdpChange ¶
func (*Ua) OnUnregister ¶
func (self *Ua) OnUnregister()
func (*Ua) RecvRequest ¶
func (self *Ua) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) *sippy_types.Ua_context
func (*Ua) RecvResponse ¶
func (self *Ua) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction)
func (*Ua) ResetCreditTime ¶
func (*Ua) ResetOnLocalSdpChange ¶
func (self *Ua) ResetOnLocalSdpChange()
func (*Ua) ResetOnRemoteSdpChange ¶
func (self *Ua) ResetOnRemoteSdpChange()
func (*Ua) SendUasResponse ¶
func (*Ua) SetClientTransaction ¶
func (self *Ua) SetClientTransaction(tr sippy_types.ClientTransaction)
func (*Ua) SetConnectTs ¶
func (self *Ua) SetConnectTs(connect_ts *sippy_time.MonoTime)
func (*Ua) SetCreditTime ¶
func (*Ua) SetDisconnectTs ¶
func (self *Ua) SetDisconnectTs(ts *sippy_time.MonoTime)
func (*Ua) SetExMtime ¶
func (self *Ua) SetExMtime(t *sippy_time.MonoTime)
func (*Ua) SetExpireTime ¶
func (*Ua) SetExtraHeaders ¶
func (self *Ua) SetExtraHeaders(extra_headers []sippy_header.SipHeader)
func (*Ua) SetFromDomain ¶
func (*Ua) SetH323ConfId ¶
func (self *Ua) SetH323ConfId(h323_conf_id *sippy_header.SipH323ConfId)
func (*Ua) SetKaInterval ¶
func (*Ua) SetLContact ¶
func (self *Ua) SetLContact(contact *sippy_header.SipContact)
func (*Ua) SetLastScode ¶
func (*Ua) SetLateMedia ¶
func (*Ua) SetLocalUA ¶
func (self *Ua) SetLocalUA(ua *sippy_header.SipUserAgent)
func (*Ua) SetNoProgressTime ¶
func (*Ua) SetNoReplyTime ¶
func (*Ua) SetNpMtime ¶
func (self *Ua) SetNpMtime(t *sippy_time.MonoTime)
func (*Ua) SetNrMtime ¶
func (self *Ua) SetNrMtime(t *sippy_time.MonoTime)
func (*Ua) SetOnLocalSdpChange ¶
func (self *Ua) SetOnLocalSdpChange(on_local_sdp_change sippy_types.OnLocalSdpChange)
func (*Ua) SetOnRemoteSdpChange ¶
func (self *Ua) SetOnRemoteSdpChange(on_remote_sdp_change sippy_types.OnRemoteSdpChange)
func (*Ua) SetOutboundProxy ¶
func (self *Ua) SetOutboundProxy(outbound_proxy *sippy_net.HostPort)
func (*Ua) SetPassword ¶
func (*Ua) SetPendingTr ¶
func (self *Ua) SetPendingTr(tr sippy_types.ClientTransaction)
func (*Ua) SetRTarget ¶
func (self *Ua) SetRTarget(url *sippy_header.SipURL)
func (*Ua) SetRuriUserparams ¶
func (*Ua) SetSetupTs ¶
func (self *Ua) SetSetupTs(ts *sippy_time.MonoTime)
func (*Ua) SetSourceAddress ¶
func (self *Ua) SetSourceAddress(addr *sippy_net.HostPort)
func (*Ua) SetToUsername ¶
func (*Ua) SetUasResp ¶
func (self *Ua) SetUasResp(resp sippy_types.SipResponse)
func (*Ua) SetUsername ¶
func (*Ua) ShouldUseRefer ¶
func (*Ua) StartCreditTimer ¶
func (self *Ua) StartCreditTimer(rtime *sippy_time.MonoTime)
func (*Ua) StartExpireTimer ¶
func (self *Ua) StartExpireTimer(t *sippy_time.MonoTime)
func (*Ua) StartNoProgressTimer ¶
func (self *Ua) StartNoProgressTimer(t *sippy_time.MonoTime)
func (*Ua) StartNoReplyTimer ¶
func (self *Ua) StartNoReplyTimer(t *sippy_time.MonoTime)
func (*Ua) UasLossEmul ¶
func (*Ua) UpdateRouting ¶
type UaStateConnected ¶
type UaStateConnected struct {
// contains filtered or unexported fields
}
func NewUaStateConnected ¶
func NewUaStateConnected(ua sippy_types.UA, rtime *sippy_time.MonoTime, origin string, config sippy_conf.Config) *UaStateConnected
func (UaStateConnected) Cancel ¶
func (self UaStateConnected) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UaStateConnected) IsConnected ¶
func (self UaStateConnected) IsConnected() bool
func (*UaStateConnected) OnActivation ¶
func (self *UaStateConnected) OnActivation()
func (*UaStateConnected) OnStateChange ¶
func (self *UaStateConnected) OnStateChange()
func (*UaStateConnected) RecvACK ¶
func (self *UaStateConnected) RecvACK(req sippy_types.SipRequest)
func (*UaStateConnected) RecvEvent ¶
func (self *UaStateConnected) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (*UaStateConnected) RecvRequest ¶
func (self *UaStateConnected) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UaStateConnected) RecvResponse ¶
func (self UaStateConnected) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UaStateConnected) String ¶
func (self *UaStateConnected) String() string
type UaStateDead ¶
type UaStateDead struct {
// contains filtered or unexported fields
}
func NewUaStateDead ¶
func NewUaStateDead(ua sippy_types.UA, rtime *sippy_time.MonoTime, origin string, config sippy_conf.Config) *UaStateDead
func (UaStateDead) Cancel ¶
func (self UaStateDead) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UaStateDead) IsConnected ¶
func (self UaStateDead) IsConnected() bool
func (*UaStateDead) OnActivation ¶
func (self *UaStateDead) OnActivation()
func (UaStateDead) OnStateChange ¶
func (UaStateDead) OnStateChange()
func (UaStateDead) RecvEvent ¶
func (self UaStateDead) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (UaStateDead) RecvRequest ¶
func (self UaStateDead) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UaStateDead) RecvResponse ¶
func (self UaStateDead) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UaStateDead) String ¶
func (self *UaStateDead) String() string
type UaStateDisconnected ¶
type UaStateDisconnected struct {
// contains filtered or unexported fields
}
func NewUaStateDisconnected ¶
func NewUaStateDisconnected(ua sippy_types.UA, rtime *sippy_time.MonoTime, origin string, scode int, inreq sippy_types.SipRequest, config sippy_conf.Config) *UaStateDisconnected
func (UaStateDisconnected) Cancel ¶
func (self UaStateDisconnected) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UaStateDisconnected) IsConnected ¶
func (self UaStateDisconnected) IsConnected() bool
func (*UaStateDisconnected) OnActivation ¶
func (self *UaStateDisconnected) OnActivation()
func (UaStateDisconnected) OnStateChange ¶
func (UaStateDisconnected) OnStateChange()
func (UaStateDisconnected) RecvEvent ¶
func (self UaStateDisconnected) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (*UaStateDisconnected) RecvRequest ¶
func (self *UaStateDisconnected) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UaStateDisconnected) RecvResponse ¶
func (self UaStateDisconnected) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UaStateDisconnected) String ¶
func (self *UaStateDisconnected) String() string
type UaStateFailed ¶
type UaStateFailed struct {
// contains filtered or unexported fields
}
func NewUaStateFailed ¶
func NewUaStateFailed(ua sippy_types.UA, rtime *sippy_time.MonoTime, origin string, scode int, config sippy_conf.Config) *UaStateFailed
func (UaStateFailed) Cancel ¶
func (self UaStateFailed) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UaStateFailed) IsConnected ¶
func (self UaStateFailed) IsConnected() bool
func (*UaStateFailed) OnActivation ¶
func (self *UaStateFailed) OnActivation()
func (UaStateFailed) OnStateChange ¶
func (UaStateFailed) OnStateChange()
func (UaStateFailed) RecvEvent ¶
func (self UaStateFailed) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (UaStateFailed) RecvRequest ¶
func (self UaStateFailed) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UaStateFailed) RecvResponse ¶
func (self UaStateFailed) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UaStateFailed) String ¶
func (self *UaStateFailed) String() string
type UacStateCancelling ¶
type UacStateCancelling struct {
// contains filtered or unexported fields
}
func NewUacStateCancelling ¶
func NewUacStateCancelling(ua sippy_types.UA, rtime *sippy_time.MonoTime, origin string, scode int, config sippy_conf.Config) *UacStateCancelling
func (UacStateCancelling) Cancel ¶
func (self UacStateCancelling) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UacStateCancelling) IsConnected ¶
func (self UacStateCancelling) IsConnected() bool
func (*UacStateCancelling) OnActivation ¶
func (self *UacStateCancelling) OnActivation()
func (UacStateCancelling) OnStateChange ¶
func (UacStateCancelling) OnStateChange()
func (*UacStateCancelling) RecvEvent ¶
func (self *UacStateCancelling) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (UacStateCancelling) RecvRequest ¶
func (self UacStateCancelling) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (*UacStateCancelling) RecvResponse ¶
func (self *UacStateCancelling) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) sippy_types.UaState
func (*UacStateCancelling) String ¶
func (self *UacStateCancelling) String() string
type UacStateIdle ¶
type UacStateIdle struct {
// contains filtered or unexported fields
}
func NewUacStateIdle ¶
func NewUacStateIdle(ua sippy_types.UA, config sippy_conf.Config) *UacStateIdle
func (UacStateIdle) Cancel ¶
func (self UacStateIdle) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UacStateIdle) IsConnected ¶
func (self UacStateIdle) IsConnected() bool
func (*UacStateIdle) OnActivation ¶
func (self *UacStateIdle) OnActivation()
func (UacStateIdle) OnStateChange ¶
func (UacStateIdle) OnStateChange()
func (*UacStateIdle) RecvEvent ¶
func (self *UacStateIdle) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, error)
func (UacStateIdle) RecvRequest ¶
func (self UacStateIdle) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UacStateIdle) RecvResponse ¶
func (self UacStateIdle) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UacStateIdle) String ¶
func (self *UacStateIdle) String() string
type UacStateRinging ¶
type UacStateRinging struct {
// contains filtered or unexported fields
}
func (UacStateRinging) Cancel ¶
func (self UacStateRinging) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UacStateRinging) IsConnected ¶
func (self UacStateRinging) IsConnected() bool
func (*UacStateRinging) OnActivation ¶
func (self *UacStateRinging) OnActivation()
func (UacStateRinging) OnStateChange ¶
func (UacStateRinging) OnStateChange()
func (*UacStateRinging) RecvEvent ¶
func (self *UacStateRinging) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (UacStateRinging) RecvRequest ¶
func (self UacStateRinging) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (*UacStateRinging) RecvResponse ¶
func (self *UacStateRinging) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) sippy_types.UaState
func (*UacStateRinging) String ¶
func (self *UacStateRinging) String() string
type UacStateTrying ¶
type UacStateTrying struct {
// contains filtered or unexported fields
}
func NewUacStateTrying ¶
func NewUacStateTrying(ua sippy_types.UA, config sippy_conf.Config) *UacStateTrying
func (UacStateTrying) Cancel ¶
func (self UacStateTrying) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UacStateTrying) IsConnected ¶
func (self UacStateTrying) IsConnected() bool
func (*UacStateTrying) OnActivation ¶
func (self *UacStateTrying) OnActivation()
func (UacStateTrying) OnStateChange ¶
func (UacStateTrying) OnStateChange()
func (*UacStateTrying) RecvEvent ¶
func (self *UacStateTrying) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (UacStateTrying) RecvRequest ¶
func (self UacStateTrying) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (*UacStateTrying) RecvResponse ¶
func (self *UacStateTrying) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) sippy_types.UaState
func (*UacStateTrying) String ¶
func (self *UacStateTrying) String() string
type UacStateUpdating ¶
type UacStateUpdating struct {
// contains filtered or unexported fields
}
func NewUacStateUpdating ¶
func NewUacStateUpdating(ua sippy_types.UA, config sippy_conf.Config) *UacStateUpdating
func (UacStateUpdating) Cancel ¶
func (self UacStateUpdating) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UacStateUpdating) IsConnected ¶
func (self UacStateUpdating) IsConnected() bool
func (*UacStateUpdating) OnActivation ¶
func (self *UacStateUpdating) OnActivation()
func (UacStateUpdating) OnStateChange ¶
func (UacStateUpdating) OnStateChange()
func (*UacStateUpdating) RecvEvent ¶
func (self *UacStateUpdating) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (*UacStateUpdating) RecvRequest ¶
func (self *UacStateUpdating) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (*UacStateUpdating) RecvResponse ¶
func (self *UacStateUpdating) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) sippy_types.UaState
func (*UacStateUpdating) String ¶
func (self *UacStateUpdating) String() string
type UasStateIdle ¶
type UasStateIdle struct {
// contains filtered or unexported fields
}
func NewUasStateIdle ¶
func NewUasStateIdle(ua sippy_types.UA, config sippy_conf.Config) *UasStateIdle
func (UasStateIdle) Cancel ¶
func (self UasStateIdle) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UasStateIdle) IsConnected ¶
func (self UasStateIdle) IsConnected() bool
func (*UasStateIdle) OnActivation ¶
func (self *UasStateIdle) OnActivation()
func (UasStateIdle) OnStateChange ¶
func (UasStateIdle) OnStateChange()
func (UasStateIdle) RecvEvent ¶
func (self UasStateIdle) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, error)
func (*UasStateIdle) RecvRequest ¶
func (self *UasStateIdle) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UasStateIdle) RecvResponse ¶
func (self UasStateIdle) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UasStateIdle) String ¶
func (self *UasStateIdle) String() string
type UasStateRinging ¶
type UasStateRinging struct {
// contains filtered or unexported fields
}
func NewUasStateRinging ¶
func NewUasStateRinging(ua sippy_types.UA, rtime *sippy_time.MonoTime, origin string, scode int, config sippy_conf.Config) *UasStateRinging
func (*UasStateRinging) Cancel ¶
func (self *UasStateRinging) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UasStateRinging) IsConnected ¶
func (self UasStateRinging) IsConnected() bool
func (*UasStateRinging) OnActivation ¶
func (self *UasStateRinging) OnActivation()
func (UasStateRinging) OnStateChange ¶
func (UasStateRinging) OnStateChange()
func (*UasStateRinging) RecvEvent ¶
func (self *UasStateRinging) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, error)
func (*UasStateRinging) RecvRequest ¶
func (self *UasStateRinging) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UasStateRinging) RecvResponse ¶
func (self UasStateRinging) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UasStateRinging) String ¶
func (self *UasStateRinging) String() string
type UasStateTrying ¶
type UasStateTrying struct {
// contains filtered or unexported fields
}
func NewUasStateTrying ¶
func NewUasStateTrying(ua sippy_types.UA, config sippy_conf.Config) *UasStateTrying
func (*UasStateTrying) Cancel ¶
func (self *UasStateTrying) Cancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)
func (UasStateTrying) IsConnected ¶
func (self UasStateTrying) IsConnected() bool
func (*UasStateTrying) OnActivation ¶
func (self *UasStateTrying) OnActivation()
func (UasStateTrying) OnStateChange ¶
func (UasStateTrying) OnStateChange()
func (*UasStateTrying) RecvEvent ¶
func (self *UasStateTrying) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, error)
func (UasStateTrying) RecvRequest ¶
func (self UasStateTrying) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UasStateTrying) RecvResponse ¶
func (self UasStateTrying) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UasStateTrying) String ¶
func (self *UasStateTrying) String() string
type UasStateUpdating ¶
type UasStateUpdating struct {
// contains filtered or unexported fields
}
func NewUasStateUpdating ¶
func NewUasStateUpdating(ua sippy_types.UA, config sippy_conf.Config) *UasStateUpdating
func (*UasStateUpdating) Cancel ¶
func (self *UasStateUpdating) Cancel(rtime *sippy_time.MonoTime, inreq sippy_types.SipRequest)
func (UasStateUpdating) IsConnected ¶
func (self UasStateUpdating) IsConnected() bool
func (*UasStateUpdating) OnActivation ¶
func (self *UasStateUpdating) OnActivation()
func (UasStateUpdating) OnStateChange ¶
func (UasStateUpdating) OnStateChange()
func (*UasStateUpdating) RecvEvent ¶
func (self *UasStateUpdating) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, error)
func (*UasStateUpdating) RecvRequest ¶
func (self *UasStateUpdating) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) sippy_types.UaState
func (UasStateUpdating) RecvResponse ¶
func (self UasStateUpdating) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) sippy_types.UaState
func (*UasStateUpdating) String ¶
func (self *UasStateUpdating) String() string
Source Files ¶
- base_transaction.go
- cc_event_redirect.go
- cc_events.go
- client_transaction.go
- default_sip_transport.go
- esip_parse_exception.go
- keepalive_controller.go
- local4remote.go
- msg_body.go
- redirect_controller.go
- rtp_proxy_client.go
- rtp_proxy_client_opts.go
- rtp_proxy_client_stream.go
- rtp_proxy_client_udp.go
- rtp_proxy_session.go
- rtpps_side.go
- sdp_body.go
- server_transaction.go
- sip_header.go
- sip_msg.go
- sip_request.go
- sip_response.go
- sip_transaction_manager.go
- stateful_proxy.go
- timeout.go
- ua.go
- ua_state_connected.go
- ua_state_dead.go
- ua_state_disconnected.go
- ua_state_failed.go
- ua_state_generic.go
- uac_state_cancelling.go
- uac_state_idle.go
- uac_state_ringing.go
- uac_state_trying.go
- uac_state_updating.go
- uas_state_idle.go
- uas_state_ringing.go
- uas_state_trying.go
- uas_state_updating.go
- udp_server.go