Project Description:
Hello,
I am looking to have a simplified version of a product like "Vonalink - Screen pop" developed. This product gets close to what I want, but alas there is no cookie!
I require an application to capture various information from a generic sip stream between a pbx and IP phone and present it to another application on a pc.
The application should sit in the task bar (or equivalent) and will be required to monitor a specifc (configurable port) of a (configurable) network card.
(The network card will be connected to a hub, which will host the standard network connection and a sip phone)
When a SIP invite is seen on the port, the application will be required to extract certain details - an example of some SDP is below:
INVITE sip:13@10.10.1.13 SIP/2.0
Via: SIP/2.0/UDP 10.10.1.99:5060;branch=z9hG4bK343bf628;rport
From: "Test 15" <sip:15@10.10.1.99>tag=as58f4201b
To: <sip:13@10.10.1.13>
Contact: <sip:15@10.10.1.99>
Call-ID: 326371826c80e17e6cf6c29861eb2933@10.10.1.99
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Wed, 06 Dec 2009 14:12:45 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 258
v=0
o=root 1821 1821 IN IP4 10.10.1.99
s=session
c=IN IP4 10.10.1.99
t=0 0
m=audio 11424 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
etc..........
I would like the application to extract the From, To and Contact fields. I'd like to say the data should be formatted into Callers Name, Callers Number, Dialled Number - but as the SDP format changes per exchange used I think data formatting should be completed by whatever the data is passed to.
The details obtained should be passed in 1 of 2 ways:
1: To another application via standard app.exe %var1% %var2% %var3% etc
2: To a configurable web address "www.whatever.com?var1=&var2=&var3" (obviously would need to be escaped suitably)
An optional text log file should be created in configurable location that captures the local system time and above information per line. This can be csv to avoid fancy formatting issues.
I'm debating requiring the application to capture the info from the SIP invite but only present it to the application/web page when it sees a RINGING response from the associated device.
----
To summarise:
Application to sit out of view of computer user.
Application to have single configuration page with following fields:
- Port to be monitored (Port)
- Network cards installed (Interface)
- Logging (Log - Tick box)
- Log location
- Web or Application (Mode)
- URL / Path to application (Path)
Installation options are negotiable (not designed for resale market).
Application must run on Windows XP to the Latest and greatest (all variants)