⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 siprequest.java

📁 jsr-180 (SIP) 实现源码。可以在真实手机上使用
💻 JAVA
字号:
package com.micromethod.sipstack.ri;

import java.util.Vector;

import com.micromethod.sipstack.i.SipAddress;

/**
 * SipRequest
 */
public class SipRequest extends SipMessage {
  /**
   * m_hasRoute
   */
  boolean m_hasRoute = false;

  /**
   * m_sipAddress
   */
  SipAddress m_sipAddress = null;

  /**
   * m_method
   */
  String m_method = null;

  /**
   * SipRequest Constructor
   * 
   * @param requestLine
   * @param headers
   * @param content
   */
  public SipRequest(Vector requestLine, Vector headers, byte content[]) {
    super(requestLine, headers, content);
    m_hasRoute = false;
    m_sipAddress = null;
    m_method = null;
    m_method = ((String) requestLine.elementAt(0)).trim();
    m_sipAddress = new SipAddress((String) requestLine.elementAt(1));
  }

  /**
   * SipRequest Constructor
   * 
   * @param method
   * @param sipAddress
   * @param headers
   */
  public SipRequest(String method, SipAddress sipAddress, Vector headers) {
    m_hasRoute = false;
    m_sipAddress = null;
    m_method = null;
    getRequestLine(method, sipAddress, headers);
  }

  /**
   * getMethod
   * 
   * @return method
   */
  public String getMethod() {
    return m_method;
  }

  /**
   * setSipAddress
   * 
   * @param sipAddress
   */
  public void setSipAddress(SipAddress sipAddress) {
    m_sipAddress = sipAddress;
    getRequestLine(m_method, sipAddress, m_headers);
  }

  /**
   * getSipAddress
   * 
   * @return sipAddress
   */
  public SipAddress getSipAddress() {
    return m_sipAddress;
  }

  /**
   * setHasRoute
   * 
   * @param hasRoute
   */
  public void setHasRoute(boolean hasRoute) {
    m_hasRoute = hasRoute;
  }

  /**
   * hasRoute
   * 
   * @return hasRoute
   */
  public boolean hasRoute() {
    return m_hasRoute;
  }

  /**
   * getSipResponse
   * 
   * @return sipResponse
   */
  public SipResponse getSipResponse() {
    SipResponse c1 = new SipResponse();
    c1.addTopHeader("From", getHeaderValue("From"));
    c1.addTopHeader("To", getHeaderValue("To"));
    c1.addTopHeader("Call-ID", getHeaderValue("Call-ID"));
    c1.addTopHeader("CSeq", getHeaderValue("CSeq"));
    Vector vector = getHeaders("Via");
    if (vector.size() > 0) {
      for (int i = vector.size() - 1; i >= 0; i--)
        c1
            .addTopHeader("Via", ((PairStructure) vector.elementAt(i))
                .getValue());

    }
    return c1;
  }

  /**
   * getRequestLine
   * 
   * @param method
   * @param sipAddress
   * @param headers
   */
  private void getRequestLine(String method, SipAddress sipAddress,
      Vector headers) {
    Vector vector1 = new Vector(3);
    m_isRequest = true;
    m_isResponse = false;
    vector1.addElement(((Object) (method)));
    vector1.addElement(((Object) (sipAddress.toString())));
    vector1.addElement("SIP/2.0");
    m_sipAddress = sipAddress;
    m_method = method;
    m_firstLine = vector1;
    if (headers != null) {
      m_headers = headers;
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -