示例#1
0
        public override int OnOptionsEvent(OptionsEvent e)
        {
            short code = e.getCode();
            tsip_options_event_type_t type    = e.getType();
            OptionsSession            session = e.getSession();
            SipMessage message = e.getSipMessage();

            if (message != null)
            {
                Console.WriteLine("call-id={0}", message.getSipHeaderValue("call-id"));
                //byte[] bytes = message.getContent();
            }

            switch (type)
            {
            case tsip_options_event_type_t.tsip_ao_options:
                String rport       = message.getSipHeaderParamValue("v", "rport");
                String received_ip = message.getSipHeaderParamValue("v", "received");
                if (rport == null)
                {       /* Ericsson SDS */
                    rport = message.getSipHeaderParamValue("v", "received_port_ext");
                }
                Console.WriteLine("Via(rport, received)=({0}, {1})", rport, received_ip);
                break;

            case tsip_options_event_type_t.tsip_i_options:
                break;
            }

            Console.WriteLine("OnRegistrationChanged() ==> {0}:{1}", code, e.getPhrase());

            return(0);
        }
示例#2
0
        public tsip_options_event_type_t getType()
        {
            tsip_options_event_type_t ret = (tsip_options_event_type_t)tinyWRAPPINVOKE.OptionsEvent_getType(swigCPtr);

            return(ret);
        }