objective c - How to make an iOS VOIP/SIP Application with audio codec's only -


can 1 me out clear doubts trying implement sip application, have sip server setup , have username , password of sip account.

now tried using pjsip & siphon somehow failed lots of errors. tried linphone , worked fine. copied files linphone project project , still working on it. (what else should copy in project going - have copied apple-darwin include & lib folder in application) want use g711(both , u) codec in application , can't find header file's that, please can 1 suggest me how should use g711 codec linphone library in application?

also can 1 tell me how many days takes cover sip application without video functionality in it? (audio calls gsm,speex,g711 codec's - only) how many days , expert & medium level developer take make app without prior knowledge of sip app? (any rough idea according you.)

is there other open source library available use make app this? or kind of tutorial available? (documentation of linphone not upto mark).

am going in right direction?

word of warning

this may sound i'm trying disuade persuing endevor. far it, sip fun protocol work (eventually) , it's rewarding see come together. enjoy great deal of satisfaction @ having gotten such beast work, , wish best of luck in shaping will! however, prepared: sip frustrating beast work with.

the following timeline based on own experience, though i've shortened timelines due there being 2 of you. our dev cycle lasted year, both lead, , programmer on project, , time includes work done on ui, requirements coordination, planning, documentation, etc.

week 1 & 2

sip complex specification, many extensions , peculiarities, relating firewalls, forwarding, branching , joining. recommend start looking rfcs, , devote amount of time reading signalling specs, , extensions need application, including @ minimum, base specification, sdp specification, , ice protocol specification.

that should occupy week if you're doing right, , full time. week 2, consider extension specifications you'll need (presence indications, preconditions, conferencing, gruu, etc) , spend time read well. drill each other on them, it's lot of information, , it's relatively complex in terms of how inter-relate each other.

break out protocol analysers (wireshark, etc) , see apps have doing on wire. having read specs, you'll in position understand why various sip products have difficulty playing nice each other, and, idea of how start working on own app.

week 3-6

even decent toolkit, spend better part of month getting sip reliably want in communicating signalling information, , writing required infrastructure respond sip signals. there crazy number of edge cases, , every pitfall can imagine in concurrent processing magnified fact have 3 independent agents, of whom have high latency, unreliable network connections, trying co-ordinate regarding same transaction.

don't take shortcuts, code, test, code more, faults , edge cases, , keep going. rfcs lot in understanding problems run into, of has trudged through.

week 7 & 8

depending on requirements application, establishing underlying connection between end-user agents rightly occupy of effort create reliable product. will, between 2 of you, spend next couple of weeks getting part work first time, , uncountable hours diagnosing edge conditions throughout rest of dev cycle of app. remember there edge cases here require media proxy, , no-win edge case user badly firewalled nothing can done. don't forget handle them.

week 9-11

at point, phones should (fairly) reliably connect each other, depending on experience , network knowledge, on strict firewalls well. preconditions spec useful decreasing perceived delay here, can hold off on ringing until network layer has connected. experience not inform next layer (protocol) well, java, media encoding , decoding handed me on silver platter, aside quicktime, had myself. chalk week or 2 getting protocols working nicely, , communicating protocol information reliably via sdp, may optimistic estimate on part.

add week if you've never worked rtp/rtcp before, while they're not complex per-say, responding feedback rtcp can challenging, , of dark art, though quite critical ensuring optimal network utilisation , media quality.

week 12+

likely, @ point, you'll realise 1 or sip product want able connect with, doesn't implementation, reasons utterly inexplicable. if need support finicky products, spend next few weeks month diagnosing why. if product proprietary, don't care step, it's way of double checking how badly you're mangling spec. (we do, don't assume test product you're using correct either! double check!)

additional

bear in mind, above intended estimate of how long take well-written sip/sdp/ice based solution functioning, not app using such infrastructure. ux king in ios world, make sure app compelling, , spend lot of time getting right.

even if use library make coding easier, learn underlying protocol! benefit tremendously understand why things work way do, , why sip universe full of many broken products.


Comments

Popular posts from this blog

html - How to style widget with post count different than without post count -

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

javascript - storing input from prompt in array and displaying the array -