วันจันทร์ที่ 19 มกราคม พ.ศ. 2552

JAIN-SIP #1

JAIN-SIP คืออะไร?

Jain sip คือ Java api integrated network หรือ เรียกง่าย ๆ ว่า เป็น API ของ java ที่ใช้ในการเีขียนโปรแกรมในระดับ low-level ที่ใช้จัดการ signaling multimedia ที่ใช้งาน SIP protocol นั่นเอง

Jain sip แตกย่อยออกมา มากมาย เช่น jain sip servlet, jslee ไว้ มีโอกาสได้ทดลองจะเอามาเขียนไว้นะครับ

เรามาทดลองเล่น jain-sip เลยดีกว่า
1. load jain-sip จาก https://jain-sip.dev.java.net/ จากนั้นก็ upzip ออกมา

2. load apache ant มาจาก http://ant.apache.org/ จากนั้นก็ unzip ออกมา แล้วก็ทำการ set environment ดังนี้
=> ANT_HOME=C:\Program Files\Java\apache-ant-1.7.1
PATH= path เก่าแล้วก็เพิ่ม C:\Program Files\Java\apache-ant-1.7.1\bin เข้าไป

3. เข้าไปใน folder E:\java\sip\jain-sip\ (ที่ได้ unzip jain-sip ไว้) แล้ว ant (make) มันซะเลย

4. ทดลอง run IMS application เข้าไปที่ folder E:\java\sip\jain-sip\src\examples\ims
แล้วก็สั่ง ant shootme

5. จะเจอ error ดังนี้ =>
[java] javax.sip.PeerUnavailableException: The Peer SIP Stack: gov.nist.javax.sip.SipStackImpl could not be instantiated. Ensure the Path Name has been set

6. หลังจากที่ผมใช้เวลาอยู่หลายชั่วโมง ในการ หา error นี้ ก็ได้ความรู้ใหม่ โดยการทำดังนี้
สั่ง ant shootme -debug จะพบว่ามันหา lib ไม่เจอ ดังนั้นจึงต้องแก้ lib path ให้มันใหม่ โดยการ แก้ file E:\java\sip\jain-sip\src\examples\ims\build.xml

จากเดิม
< property name="log4j_jar" value="${root}/lib/${log4j}" >
< property name="junit_jar" value="${root}/lib/${junit}" >

เป็น
< property name="log4j_jar" value="${root}/${log4j}" >
< property name="junit_jar" value="${root}/${junit}" >


7. คราวนี้ก็ สั่ง ant shootme แล้วก็เปิด console อีกหน้าต่างสั่ง ant shootist
เราก็จะเห็น IMS message วิ่งวนไป ๆ มา ๆ หน้า console แล้ว



ส่วนเรื่องความหมายของ message ขอแยกไว้เป็นบทความหน้าแล้วกันนะครับ :-)

ไม่มีความคิดเห็น: