นี่คือคำสั่ง sipp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
sipp - เครื่องมือทดสอบประสิทธิภาพ Session Initiation Protol (SIP)
DESCRIPTION
การใช้งาน:
sipp remote_host[:remote_port] [ตัวเลือก]
ตัวเลือกที่มี:
-v : แสดงเวอร์ชันและข้อมูลลิขสิทธิ์
-อ๊า : เปิดใช้งานคำตอบ 200 OK อัตโนมัติสำหรับข้อความ INFO, UPDATE และ NOTIFY
-base_cseq
: ค่าเริ่มต้นของ [cseq] สำหรับการโทรแต่ละครั้ง
-บีจี : เปิด SIPP ในโหมดพื้นหลัง
-bind_local
: ผูกซ็อกเก็ตกับที่อยู่ IP ในเครื่อง เช่น ใช้ที่อยู่ IP ในเครื่องเป็นแหล่งที่มา
ที่อยู่ IP. หาก SIPP ทำงานในโหมดเซิร์ฟเวอร์ มันจะฟังเฉพาะ IP ในพื้นที่เท่านั้น
ที่อยู่แทนที่อยู่ IP ทั้งหมด
-buff_size
: ตั้งค่าขนาดบัฟเฟอร์การส่งและรับ
-cid_str
: สตริง ID การโทร (ค่าเริ่มต้น %u-%p@%s) %u=call_number, %s=ip_address,
%p=process_number, %%=% (ในลำดับใดก็ได้)
-นี้ : ตั้งค่าที่อยู่ IP ควบคุมในเครื่อง
-ซีพี : ตั้งค่าหมายเลขพอร์ตควบคุมภายในเครื่อง ค่าเริ่มต้นคือ 8888
-d : ควบคุมระยะเวลาของการโทร แม่นยำยิ่งขึ้น สิ่งนี้จะควบคุมระยะเวลาของ
คำแนะนำ 'หยุดชั่วคราว' ในสถานการณ์ หากไม่มีส่วน 'มิลลิวินาที'
ค่าเริ่มต้นคือ 0 และหน่วยเริ่มต้นคือมิลลิวินาที
-deadcall_wait
: ควรเก็บ Call-ID และสถานะสุดท้ายของการโทรไว้นานแค่ไหนเพื่อปรับปรุงข้อความ
และบันทึกข้อผิดพลาด (หน่วยเริ่มต้นคือ ms)
-default_behaviors: ตั้งค่าการทำงานเริ่มต้นที่ SIpp จะใช้
ค่าที่เป็นไปได้คือ: - ทั้งหมด ใช้พฤติกรรมเริ่มต้นทั้งหมด - ไม่มี ใช้ไม่มีค่าเริ่มต้น
พฤติกรรม - ลาก่อน ส่งบายสำหรับการโทรที่ถูกยกเลิก - abortunexp ยกเลิกการโทร
ข้อความที่ไม่คาดคิด - pingreply ตอบกลับคำขอ ping หากพฤติกรรมเป็น
นำหน้าด้วย - แล้วปิด ตัวอย่าง: all,-bye
-f : ตั้งค่าความถี่รายงานสถิติบนหน้าจอ ค่าเริ่มต้นคือ 1 และหน่วยเริ่มต้นคือ
วินาที
-fd : ตั้งค่าความถี่รายงานบันทึกการถ่ายโอนข้อมูลสถิติ ค่าเริ่มต้นคือ 60 และหน่วยเริ่มต้นคือ
วินาที
-i : ตั้งค่าที่อยู่ IP ในเครื่องสำหรับส่วนหัว 'ติดต่อ:', 'ผ่าน:' และ 'จาก:' ค่าเริ่มต้นคือ
ที่อยู่ IP ของโฮสต์หลัก
-inf : ใส่ค่าจากไฟล์ CSV ภายนอกระหว่างการโทรเข้าสู่สถานการณ์จำลอง อันดับแรก
บรรทัดของไฟล์นี้ระบุว่าจะอ่านข้อมูลตามลำดับหรือไม่ (SEQUENTIAL)
สุ่ม (RANDOM) หรือคำสั่งของผู้ใช้ (USER) แต่ละสายตรงกับหนึ่งสายและมี
หนึ่งหรือมากกว่า ';' ช่องข้อมูลที่คั่นด้วย ฟิลด์เหล่านั้นสามารถเรียกว่า [field0]
[field1], ... ในไฟล์สถานการณ์สมมติ xml สามารถใช้ไฟล์ CSV ได้หลายไฟล์
พร้อมกัน (ไวยากรณ์: -inf f1.csv -inf f2.csv ...)
-ดัชนี
: ฟิลด์ไฟล์ สร้างดัชนีของไฟล์โดยใช้ฟิลด์ ตัวอย่างเช่น -inf ผู้ใช้.csv
-ดัชนี users.csv 0 สร้างดัชนีบนคีย์แรก
-ip_field
: ตั้งค่าว่าฟิลด์ใดจากไฟล์การฉีดที่มีที่อยู่ IP ที่
ลูกค้าจะส่งข้อความ หากละเว้นตัวเลือกนี้และตัวเลือก '-t ui' คือ
ปัจจุบัน จากนั้นจะถือว่าฟิลด์ 0 ใช้ตัวเลือกนี้ร่วมกับ '-t ui'
-l : กำหนดจำนวนสูงสุดของการโทรพร้อมกัน เมื่อถึงขีดจำกัดนี้ การจราจร
ลดลงจนกว่าจำนวนการโทรที่เปิดอยู่จะลดลง ค่าเริ่มต้น:
(3 * call_duration (s) * อัตรา)
-สูญหาย : กำหนดจำนวนแพ็กเก็ตที่จะสูญเสียโดยค่าเริ่มต้น (ข้อกำหนดสถานการณ์จำลองแทนที่
ค่านี้)
-m : หยุดการทดสอบและออกเมื่อมีการประมวลผลการโทร 'โทร'
- มิ : ตั้งค่าที่อยู่ IP ของสื่อท้องถิ่น
ปริญญาโท
: โหมดขยาย 3pcc: ระบุหมายเลขหลัก
-max_recv_loops
: กำหนดจำนวนข้อความสูงสุดที่อ่านต่อรอบ เพิ่มมูลค่านี้
เพื่อการสัญจรที่สูง ค่าเริ่มต้นคือ 1000
-max_sched_loops : กำหนดจำนวนสูงสุดของการเรียกใช้ calsl ต่อการวนรอบเหตุการณ์
เพิ่มค่านี้สำหรับระดับการเข้าชมที่สูง ค่าเริ่มต้นคือ 1000
-max_เชื่อมต่อใหม่
: ตั้งค่าจำนวนสูงสุดของการเชื่อมต่อใหม่
-max_retrans
: จำนวนสูงสุดของการส่งสัญญาณ UDP ซ้ำก่อนที่การโทรจะสิ้นสุดลงเมื่อหมดเวลา ค่าเริ่มต้นคือ 5
สำหรับธุรกรรม INVITE และ 7 สำหรับผู้อื่น
-max_invite_retrans: จำนวนสูงสุดของการส่งซ้ำ UDP สำหรับคำเชิญ
ธุรกรรมก่อนที่การโทรจะสิ้นสุดลงเมื่อหมดเวลา
-max_non_invite_retrans: จำนวนสูงสุดของการส่งซ้ำ UDP สำหรับผู้ที่ไม่ได้รับเชิญ
ธุรกรรมก่อนที่การโทรจะสิ้นสุดลงเมื่อหมดเวลา
-max_log_size
: ขีดจำกัดสำหรับขนาดไฟล์บันทึกข้อผิดพลาดและข้อความคืออะไร
-max_socket
: ตั้งค่าจำนวนสูงสุดของซ็อกเก็ตที่จะเปิดพร้อมกัน ตัวเลือกนี้มีความสำคัญ
หากคุณใช้หนึ่งซ็อกเก็ตต่อการโทร เมื่อถึงขีดจำกัดนี้ การรับส่งข้อมูลจะถูกกระจาย
เหนือซ็อกเก็ตที่เปิดอยู่แล้ว ค่าเริ่มต้นคือ 50000
-mb : ตั้งค่าขนาดบัฟเฟอร์ RTP echo (ค่าเริ่มต้น: 2048)
-mp : ตั้งค่าหมายเลขพอร์ตสะท้อน RTP ในเครื่อง ค่าเริ่มต้นคือ 6000
-NS : ไม่มีค่าเริ่มต้น ปิดใช้งานพฤติกรรมเริ่มต้นทั้งหมดของ SIPP ซึ่งมีดังต่อไปนี้: - On
หมดเวลาการส่งซ้ำ UDP ยกเลิกการโทรโดย
ส่ง BYE หรือ CANCEL
- เมื่อรับการหมดเวลาโดยไม่มีแอตทริบิวต์ ontimeout ให้ยกเลิก
การโทรโดยส่ง BYE หรือ CANCEL
- ใน BYE ที่ไม่คาดคิดส่ง 200 ตกลงและปิดการโทร - เมื่อยกเลิกโดยไม่คาดคิดส่ง
200 ตกลงและปิดการโทร - เมื่อ PING ที่ไม่คาดคิดส่ง 200 ตกลงและโทรต่อ
- ในข้อความที่ไม่คาดคิดอื่น ๆ ให้ยกเลิกการโทรโดย
ส่ง BYE หรือ CANCEL
-ไม่มี : ปิดใช้งานการส่งสัญญาณซ้ำในโหมด UDP
-นอสดิน
: ปิดการใช้งาน stdin
-p : ตั้งค่าหมายเลขพอร์ตในเครื่อง ค่าเริ่มต้นคือพอร์ตว่างแบบสุ่มที่เลือกโดยระบบ
-pause_msg_ign
: ละเว้นข้อความที่ได้รับระหว่างการหยุดชั่วคราวที่กำหนดไว้ในสถานการณ์
-คาบ_rtd
: รีเซ็ตตัวนับพาร์ติชั่นเวลาตอบสนองในแต่ละช่วงเวลาการบันทึก
-r : กำหนดอัตราการโทร (เป็นการโทรต่อวินาที) ค่านี้สามารถเปลี่ยนแปลงได้ในระหว่างการทดสอบ
โดยกด '+','_','*' หรือ '/' ค่าเริ่มต้นคือ 10. กดปุ่ม '+' เพื่อเพิ่มการโทร
อัตรา 1 * rate_scale กดปุ่ม '-' เพื่อลดอัตราการโทรลง 1 * rate_scale
กดปุ่ม '*' เพื่อเพิ่มอัตราการโทร 10 * rate_scale กดปุ่ม '/' เพื่อ
ลดอัตราการโทรลง 10 * rate_scale ถ้า -rp ใช้ตัวเลือกอัตราการโทรคือ
คำนวณด้วยระยะเวลาในหน่วย ms ที่กำหนดโดยผู้ใช้
-rp : ระบุช่วงเวลาอัตราสำหรับอัตราค่าโทร ค่าเริ่มต้นคือ 1 วินาทีและหน่วยเริ่มต้น
คือมิลลิวินาที สิ่งนี้ช่วยให้คุณมี n โทรทุก ๆ m มิลลิวินาที (โดยใช้ -r
n -rp NS). ตัวอย่าง: -r 7 -rp 2000 ==> 7 สายทุก 2 วินาที
-r 10 -rp 5s => 10 สายทุก 5 วินาที
-rate_scale
: ควบคุมหน่วยสำหรับปุ่ม '+', '-', '*' และ '/'
-rate_increase
: ระบุอัตราเพิ่มทุกๆ -fd หน่วย (ค่าเริ่มต้นคือวินาที) นี้ช่วยให้คุณ
เพื่อเพิ่มภาระสำหรับช่วงเวลาการบันทึกอิสระแต่ละช่วง ตัวอย่าง: -rate_increase
10 -fd 10s
==> เพิ่มการโทร 10 ทุก 10 วินาที
-rate_max
: ถ้า -rate_increase ถูกตั้งค่าแล้วออกหลังจากที่อัตราถึงค่านี้ ตัวอย่าง:
-rate_increase 10 -rate_max 100
==> เพิ่มการโทร 10 ถึง 100 cps
-no_rate_quit
: ถ้า -rate_increase กำหนดแล้วห้ามเลิกเมื่อถึงอัตรา -rate_max.
-recv_timeout
: หมดเวลารับทั่วโลก หน่วยเริ่มต้นคือมิลลิวินาที หากข้อความที่คาดไว้คือ
ไม่ได้รับ สายหมดเวลาและถูกยกเลิก
-send_หมดเวลา
: หมดเวลาการส่งทั่วโลก หน่วยเริ่มต้นคือมิลลิวินาที หากไม่มีการส่งข้อความ (เนื่องจาก
เพื่อความแออัด) การโทรหมดเวลาและถูกยกเลิก
-เชื่อมต่อใหม่_ปิด : ควรปิดการโทรเมื่อเชื่อมต่อใหม่หรือไม่
-เชื่อมต่อใหม่_sleep : นานแค่ไหน (เป็นมิลลิวินาที) ที่จะนอนระหว่างใกล้และ
เชื่อมต่อใหม่?
-ringbuffer_files: จำนวนไฟล์ข้อผิดพลาด/ข้อความที่ควรเก็บไว้หลังจาก
หมุน?
-ringbuffer_size : ไฟล์ข้อผิดพลาด/ข้อความควรมีขนาดใหญ่เพียงใดก่อนที่จะได้รับ
หมุน?
-อาร์เอส : ตั้งค่าที่อยู่การส่งระยะไกลเป็น host:port สำหรับส่งข้อความ
-rtp_echo
: เปิดใช้งาน RTP echo รับแพ็กเก็ต RTP/UDP บนพอร์ตที่กำหนดโดย -mp สะท้อนถึง
ผู้ส่งของพวกเขา แพ็กเก็ต RTP/UDP ที่มาบนพอร์ตนี้ + 2 ก็สะท้อนไปยัง
ผู้ส่ง (ใช้สำหรับเสียงสะท้อนและวิดีโอ)
-rtt_freq
: ความถี่บังคับ ดัมพ์เวลาตอบสนองทุกๆ การเรียกความถี่ในล็อกไฟล์ที่กำหนด
by -trace_rtt. ค่าเริ่มต้นคือ 200
-s : ตั้งค่าส่วนชื่อผู้ใช้ของ URI คำขอ ค่าเริ่มต้นคือ 'บริการ'
-SD : ทิ้งสถานการณ์สมมติเริ่มต้น (ฝังอยู่ในไฟล์ปฏิบัติการ sipp)
-เอสเอฟ : โหลดไฟล์สถานการณ์สมมติ xml สำรอง หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับไวยากรณ์สถานการณ์สมมติ XML
ใช้ -SD ตัวเลือกในการดัมพ์สถานการณ์สมมติที่ฝังตัว พวกเขามีความช่วยเหลือที่จำเป็นทั้งหมด
-oocsf : โหลดสถานการณ์ที่ไม่อยู่ในการโทร
-oocsn : โหลดสถานการณ์ที่ไม่อยู่ในการโทร
-skip_rlimit
: อย่าทำการปรับแต่ง rlimit ของขีดจำกัดตัวอธิบายไฟล์ ค่าเริ่มต้น: เท็จ
-ทาส : โหมดขยาย 3pcc: ระบุหมายเลขสเลฟ
-slave_cfg
: โหมดขยาย 3pcc: ระบุไฟล์ที่ที่อยู่มาสเตอร์และทาสอยู่
เก็บไว้
-ส : ใช้สถานการณ์เริ่มต้น (ฝังอยู่ในไฟล์ปฏิบัติการ sipp) หากตัวเลือกนี้คือ
ละเว้น สถานการณ์จำลอง Standard SipStone UAC จะถูกโหลด ค่าที่มีอยู่ในนี้
รุ่น:
- 'uac'
: มาตรฐาน SipStone UAC (ค่าเริ่มต้น)
- 'ยูเอส'
: การตอบสนอง UAS อย่างง่าย
- 'regexp'
: มาตรฐาน SipStone UAC - พร้อม regexp และ
ตัวแปร
- 'สาขา'
: การแตกแขนงและการแตกแขนงแบบมีเงื่อนไขใน
สถานการณ์ - ลูกค้า
- 'สาขา'
: การแตกแขนงและการแตกแขนงแบบมีเงื่อนไขใน
สถานการณ์ - เซิร์ฟเวอร์
สถานการณ์สมมติ 3pcc เริ่มต้น (ดู -3 ชิ้น ตัวเลือก):
- '3pcc-CA' : ตัวควบคุมด้าน A (ต้องเริ่มหลังจาก
สถานการณ์ 3pcc อื่น ๆ ทั้งหมด)
- '3pcc-CB' : ตัวควบคุมด้าน B - '3pcc-A' : ข้าง A - '3pcc-B' : ด้าน B
-stat_delimiter
: ตั้งค่าตัวคั่นสำหรับไฟล์สถิติ
-stf : ตั้งชื่อไฟล์เพื่อใช้ดัมพ์สถิติ
-t : ตั้งค่าโหมดการขนส่ง: - u1: UDP ด้วยหนึ่งซ็อกเก็ต (ค่าเริ่มต้น), - un: UDP ด้วยหนึ่งซ็อกเก็ต
ซ็อกเก็ตต่อการโทร - ui: UDP พร้อมหนึ่งซ็อกเก็ตต่อที่อยู่ IP The IP
ต้องกำหนดที่อยู่ในไฟล์ฉีด
- t1: TCP ที่มีหนึ่งซ็อกเก็ต - tn: TCP ที่มีหนึ่งซ็อกเก็ตต่อการโทร - l1: TLS กับหนึ่งซ็อกเก็ต
socket, - ln: TLS พร้อมหนึ่งซ็อกเก็ตต่อการโทร, - c1: u1 + การบีบอัด (เฉพาะในกรณีที่
ปลั๊กอินบีบอัด
โหลดแล้ว)
- cn: un + การบีบอัด (เฉพาะในกรณีที่บีบอัดปลั๊กอิน
โหลด)
ปลั๊กอินนี้ไม่ได้มาพร้อมกับ sipp
-หมดเวลา
: หมดเวลาทั่วโลก หน่วยเริ่มต้นคือวินาที หากตั้งค่าตัวเลือกนี้ SIPP จะปิดหลังจาก
nb หน่วย (-หมดเวลา 20 วินาที ออกหลังจาก 20 วินาที)
-timer_resol
: ตั้งค่าความละเอียดของตัวจับเวลา หน่วยเริ่มต้นคือมิลลิวินาที ตัวเลือกนี้มี
ส่งผลกระทบต่อความแม่นยำของตัวจับเวลา ค่าขนาดเล็กช่วยให้จัดตารางเวลาได้แม่นยำยิ่งขึ้นแต่ส่งผลกระทบ
การใช้งาน CPU หากเปิดการบีบอัด ค่าจะถูกตั้งไว้ที่ 50ms ค่าเริ่มต้นคือ
10ms
-sendbuffer_warn : สร้างคำเตือนแทนข้อผิดพลาดใน SendBuffer
ความล้มเหลว
-trace_msg
: แสดงข้อความ SIP ที่ส่งและรับใน
ชื่อ>_ _messages.log
-trace_shortmsg
: แสดงข้อความ SIP ที่ส่งและรับเป็น CSV ใน
ชื่อ>_ _shortmessages.log
-trace_screen
: ดัมพ์หน้าจอสถิติใน _ _0มิลลิวินาที
-trace_err
: ติดตามข้อความที่ไม่คาดคิดทั้งหมดใน _ _errors.log
-trace_stat
: ทิ้งสถิติทั้งหมดใน _ ไฟล์ .csv ใช้ตัวเลือก '-h stat'
สำหรับคำอธิบายโดยละเอียดของเนื้อหาไฟล์สถิติ
-trace_counts
: ทิ้งจำนวนข้อความในไฟล์ CSV
-trace_rtt
: อนุญาตให้ติดตามเวลาตอบสนองทั้งหมดใน _ _rtt.csv.
-trace_logs
: อนุญาตให้มีการติดตามของ การกระทำใน _ _logs.log
-ผู้ใช้ : แทนที่จะเริ่มการโทรในอัตราคงที่ เริ่มการโทร 'ผู้ใช้' เมื่อเริ่มต้น และ
ให้จำนวนการโทรคงที่
-3 ชิ้น : เปิดเครื่องมือในโหมด 3pcc ("การควบคุมการโทรของบุคคลที่สาม") ที่อยู่ IP ที่ผ่าน
ขึ้นอยู่กับบทบาทของ 3PCC - เมื่อคำสั่งคู่แรกคือ 'sendCmd' แล้ว
นี้คือ
ที่อยู่ของซ็อกเก็ตคู่ระยะไกล
SIPP จะพยายาม
เชื่อมต่อกับที่อยู่นี้:พอร์ตเพื่อส่งคำสั่งคู่ (อินสแตนซ์นี้ต้องเป็น
เริ่มต้นหลังจากสถานการณ์ 3PCC อื่น ๆ ทั้งหมด)
ตัวอย่าง: สถานการณ์จำลอง 3PCC-CA
- เมื่อคำสั่งคู่แรกคือ 'recvCmd' นี่คือ
ที่อยู่ของซ็อกเก็ตคู่ในพื้นที่ SIPP จะเปิดที่อยู่นี้: พอร์ตที่จะฟัง
สำหรับคำสั่งคู่
ตัวอย่าง: สถานการณ์จำลอง 3PCC-CB
-tdmmap
: สร้างและจัดการตารางวงจร TDM ต้องมีวงจรสำหรับ
โทรที่จะวาง. รูปแบบ: -tdmmap {0-3}{99}{5-8}{1-31}
-สำคัญ : ค่าคีย์เวิร์ด ตั้งค่าพารามิเตอร์ทั่วไปชื่อ "คีย์เวิร์ด" เป็น "ค่า"
การจัดการสัญญาณ:
SIPP สามารถควบคุมได้โดยใช้สัญญาณโพซิกซ์ สัญญาณต่อไปนี้ได้รับการจัดการ:
USR1: คล้ายกับการกดแป้นคีย์บอร์ด 'q' มันเรียกทางออกที่นุ่มนวล
ของ SIPP ไม่มีการโทรออกใหม่และการโทรที่สนทนาอยู่ทั้งหมดจะเสร็จสิ้นก่อน
SIPP ออก ตัวอย่าง: kill -SIGUSR1 732
USR2: ทริกเกอร์การถ่ายโอนข้อมูลของหน้าจอสถิติทั้งหมดใน
_ _screens.log ไฟล์ มีประโยชน์อย่างยิ่งในโหมดพื้นหลังถึง
รู้ว่าสถานะปัจจุบันคืออะไร ตัวอย่าง: kill -SIGUSR2 732
รหัสออก:
เมื่อออก (เมื่อเกิดข้อผิดพลาดร้ายแรงหรือเมื่อจำนวนสายที่ถาม (-m ตัวเลือก) ถึงแล้ว
sipp ออกด้วยรหัสออกอย่างใดอย่างหนึ่งต่อไปนี้:
0: การโทรทั้งหมดสำเร็จ 1: การโทรล้มเหลวอย่างน้อยหนึ่งครั้ง
97: ออกจากคำสั่งภายใน อาจมีการประมวลผลการโทร 99: ออกปกติโดยไม่ต้อง
ประมวลผลการโทร -1: ข้อผิดพลาดร้ายแรง
ตัวอย่าง:
เรียกใช้ sipp ด้วยเซิร์ฟเวอร์ฝังตัว (uas) สถานการณ์:
./จิบ -ส เรา
บนโฮสต์เดียวกัน ให้รัน sipp ด้วยสถานการณ์จำลองไคลเอนต์ (uac)
./จิบ -ส ยูเอซี 127.0.0.1
SIPP v3.1 ไม่ทราบเวอร์ชัน สร้างเมื่อ 13 มิ.ย. 2010, 15:34:03 น.
โปรแกรมนี้เป็นซอฟต์แวร์ฟรี คุณสามารถแจกจ่ายซ้ำและ/หรือแก้ไขภายใต้
เงื่อนไขของสัญญาอนุญาตสาธารณะทั่วไปของ GNU ตามที่เผยแพร่โดยซอฟต์แวร์เสรี
พื้นฐาน; เวอร์ชัน 2 ของใบอนุญาตหรือ (ตามที่คุณเลือก) เวอร์ชันที่ใหม่กว่า
โปรแกรมนี้เผยแพร่โดยหวังว่าจะเป็นประโยชน์ แต่ไม่มีเลย
การรับประกัน; โดยไม่มีการรับประกันโดยนัยของ MERCHANTABILITY หรือ FITNESS FOR A
วัตถุประสงค์เฉพาะ ดูสัญญาอนุญาตสาธารณะทั่วไปของ GNU สำหรับรายละเอียดเพิ่มเติม
คุณควรได้รับสำเนาใบอนุญาตสาธารณะทั่วไปของกนูพร้อมกับเอกสารนี้
โปรแกรม; ถ้าไม่เขียนถึง Free Software Foundation, Inc., 59 Temple Place
Suite 330, Boston, MA 02111-1307 สหรัฐอเมริกา
ผู้เขียน: ดูไฟล์ต้นฉบับ
ใช้ sipp ออนไลน์โดยใช้บริการ onworks.net