N No+z gc8#PgcYgcC?8g :$ :$ $ ?:9g?gc?#_,?89 a+F ?gcٗ.gcVgc@?,|??SG+| g"_? gc?,_8$6?/?(gcYgcC#,?8$?, ?(8?89:*?5?@_?,_*K ?gc$8~$9?gc8$9?gc$ #?gc88$|#?8gc*?5?@_?@c?@c*1 >gc@**??@_*r ?gc$8~$9?gc8$9$P|gc|gc|$<|P?gc$ :?gc8gc|$ |:?8:gcz *?5?@_?@c?@c*d g*'>??@_?A_m*h ?g,z_g$<#gcg(0gcg$<(gg$<|(0**??@_?#_@c(l* {*?@_Cp Vg "g"Cp Vg "g"1p gn n Z*,??nN_?@n ,#_?A_?B_M*"?@A A"B B")܈*V@*s??*y n$g **??@_*W :@n @W @WgcAgcAgc, **??@_ق*?m m m ** %i -H1i -)>*6jz%܈>xH~Rݩl$066Xlq&5EY(Y2@̐d.zE ^=ٷu+i/;GU3{xH Bti9c((x#;| Ϋ )bFZlz=D^z -D(&ryЩ.m}s6ێTEۑ1뵛ߥg03$Pgah!O~z زr/N!d!#j"xl: 5ur`Oqck?۠\b]i;M99/!y-vGwT4Wvd,V~ѓ <:\T}*UZ? 3Iwg8&[4I2cȒ}#Cc2ce<OʀEAȺq|g_1Wuٵ8\Z5>uكN_6I*ּf#֜\#ҰYrk$*p済>`;Zs4rQye@v^_rIiEc|GWkz6)EIőr/gc%- sr&G͎67lqp^vQ鵐e⯽Ԣ8]:/7 !?apNə{*>ZK"dYjev"Isɼ!lYb8O9~y6jJgb7t8\ m/3Tr[cԵ=,4VD|B!۝(xlY#Pb}۽SHx:A#Dhjs={>dz+ڎE󶝇r6B'܈ԥ(:P1t̢kkDt םfwl ;jܛ7Ӵk%3Hyqg]h)=o?doZ>bS7={uд|BdX3G;Lfg&Wω>nvC>BRY7 :G>[z$!)3D16J6x\e YDǘI>kpC/ou4Ҽ͛wyR QXRc6_sZ1C/O@5a{{$ P=m\@lmWss0d |5eX3"sJFoEꃏ{|+L[_WT $ ɾX3sSV_$׼D19&)|:=_dzoCbF#I9L mQkh>/E>3K^Wu Ȃ!#VA>w4t9~=9z=@p-O;u8[A W")Nj-!ڪ3n_KzS,HLB (@ٝl^>{)$vĬN!n4o+-vQY B\4 W! C5^ v[n#`T+|lTCc>',EMV'LIę0pݖ#.,Cm+퓣UJ2 WGjb+5iJԦ NK|Uir!)k|QkZ'GڃkHHo #7Lg$"L=q-z,i0'3_nUrA9nw.{1)Un->,9ũ%No:?+1sQH$rY xT6g!0f]>k59H&Ԗt &m(m dW!̵fYfXPrmh;Gq!mf0i4ZRՋ خFM)X?7gka\0&!{^<Х|N_IENDB`).png .db .html .j2me .wav .crb .DS_Store & Liblinphone is a high level library for bringing SIP video call functionnality into an application. It aims at making easy the integration of the SIP video calls into any applications. All variants of linphone are directly based on it:
  • linphone (GUI interface)
  • linphonec (console interface)
    Liblinphone is GPL (see COPYING file). Please understand the licencing details before using it!
    For any use of this library beyond the rights granted to you by the GPL license, please contact Belledonne Communications (contact@belledonne-communications.com)

    Package Specification

    LibLinphone package is organized in submodules.

    Related Documentation

    For overviews, tutorials, examples, guides, and tool documentation, please see:

    Managing proxies

    User registration is controled by {@link org.linphone.core.LinphoneProxyConfig } settings.
    Each {@link org.linphone.core.LinphoneProxyConfig } object can be configured with registration informations like {@link org.linphone.core.LinphoneProxyConfig#setProxy proxy address } , {@link org.linphone.core.LinphoneProxyConfig#setIdentity user id}, and so on.
    A created proxy config using {@link org.linphone.core.LinphoneCoreFactory#createProxyConfig }, once configured, must be added to {@link org.linphone.core.LinphoneCore} using function {@link org.linphone.core.LinphoneCore#addProxyConfig }.
    It is recommended to set a default {@link org.linphone.core.LinphoneProxyConfig proxy config } using function {@link org.linphone.core.LinphoneCore#setDefaultProxyConfig }. Once done, if {@link org.linphone.core.LinphoneProxyConfig a proxy config } has been configured with attribute {@link org.linphone.core.LinphoneProxyConfig#enableRegister enable register } , next call to {@link org.linphone.core.LinphoneCore#iterate } triggers a SIP register.
    Registration status is reported by {@link org.linphone.core.LinphoneCoreListener#registrationState registration listener}.

    This pseudo code demonstrates basic registration operations:
    
    	
    	LinphoneProxyConfig proxy_cfg;
    	/*create proxy config*/
    	proxy_cfg = LinphoneCoreFactory.instance().createProxyConfig();
    	/*parse identity*/
    	LinphoneAddress from = LinphoneCoreFactory.instance().createAddress("sip:toto@sip.titi.com");
    	LinphoneAuthInfo info;
    	if (password!=NULL){
     		info=LinphoneCoreFactory.instance().createAuthInfo(from.getUsername(),null,"secret",null,null); /*create authentication structure from identity*/
    		lc.addAuthInfo(info); /*add authentication info to LinphoneCore*/
    	}	
    	// configure proxy entries
    	proxy_cfg.setIdenty(identity); /*set identity with user name and domain*/
    	String server_addr = from.getDomain(); /*extract domain address from identity*/
    	proxy_cfg.setProxy(server_addr); /* we assume domain = proxy server address*/
    	proxy_cfg.enableRegister(true); /*activate registration for this proxy config*/
    	
    	lc.addProxyConfig(proxy_cfg); /*add proxy config to linphone core*/
    	lc.setDefaultProxyconfig(proxy_cfg); /*set to default proxy*/ 
    
    

    {@link org.linphone.core.LinphoneCoreListener#registrationState Registration state listener} :
    
     void registrationState(LinphoneCore lc, LinphoneProxyConfig cfg, LinphoneCore.RegistrationState cstate, String message){
    		System.out.println(New registration state ["+cstate+"] for user id ["+cfg.getUserName()+"] at proxy ["+cfg.getProxy()+"]";
    }
    

    Authentication:
    Most of the time, registration requires {@link org.linphone.core.LinphoneAuthInfo authentication } to succed. {@link org.linphone.core.LinphoneAuthInfo} info must be either added to {@link org.linphone.core.LinphoneCore } using method {@link org.linphone.core.LinphoneCore#addAuthInfo } before {@link org.linphone.core.LinphoneProxyConfig} is added to Linphone core, or on demand from listener {@link org.linphone.core.LinphoneCoreListener#authInfoRequested(LinphoneCore, String, String)} .

    Unregistration:
    Unregistration or any changes to {@link org.linphone.core.LinphoneProxyConfig} must be first started by a call to function {@link org.linphone.core.LinphoneProxyConfig#edit } and validated by function {@link org.linphone.core.LinphoneProxyConfig#done }
    This pseudo code shows how to unregister a user associated to a{@link org.linphone.core.LinphoneProxyConfig}
    
     	LinphoneProxyConfig proxy_cfg;
     	lc.setDefaultProxyConfig(proxy_cfg); /* get default proxy config*/
    	proxy_cfg.edit(); /*start editing proxy configuration*/
    	proxy_cfg.enableRegister(false); /*de-activate registration for this proxy config*/
    	proxy_cfg.done(); /*initiate REGISTER with expire = 0*/
    


    Managing Buddies and buddy list and presence


    Buddies and buddy list
    Each buddy is represented by a {@link org.linphone.core.LinphoneFriend } object created by function {@link org.linphone.core.LinphoneCoreFactory#createLinphoneFriend()}. Buddy configuration parameters like {@link org.linphone.core.LinphoneFriend#setAddress(LinphoneAddress) sip uri} or {@link org.linphone.core.LinphoneFriend#setIncSubscribePolicy(LinphoneFriend.SubscribePolicy) status publication} are configurable for each buddy.
    Here under a typical buddy creation:
    
    	LinphoneFriend my_friend=LinphoneFactory.instance().createFriend("sip:joe@sip.linphone.org"); /*creates friend object for buddy joe*/
    	my_friend.enableSubscribes(true); /*configure this friend to emit SUBSCRIBE message after being added to LinphoneCore*/
    	my_friend.setIncSubscribePolicy(LinphoneFriend.SubscribePolicy.Accept); /* accept Incoming subscription request for this friend*/
    
    
    {@link LinphoneFriend friends } status changes are reported by {@link org.linphone.core.LinphoneCoreListener#notifyPresenceReceived(LinphoneCore lc, LinphoneFriend lf)} .
    
     void notifyPresenceReceived(LinphoneCore lc, LinphoneFriend lf){
    	LinphoneAddress friend_address = lf.getAddress();
    	System.out.println("New state ["+lf.getStatus()+"] for user id ["+friend_address+"] ");
    }
    
    

    Once created a buddy can be added to the buddy list using function {@link org.linphone.core.LinphoneCore#addFriend(LinphoneFriend lf) } . Added friends will be notified about {@link org.linphone.core.LinphoneCore#setPresenceInfo(int minute_away,String alternative_contact, OnlineStatus status) local status changes }
    Any subsequente modifications to {@link org.linphone.core.LinphoneFriend} must be first started by a call to function to {@link org.linphone.core.LinphoneFriend#edit()} and validated by function {@link org.linphone.core.LinphoneFriend#done()}
    
    	my_friend.edit(); /* start editing friend */
    	my_friend.enableSubscribes(true); /*disable subscription for this friend*/
    	my_friend.done(); /*commit changes triggering an UNSUBSCRIBE message*/
    
    
    Publishing presence status
    Local presence status can be changed using function {@link org.linphone.core.LinphoneCore#setPresenceInfo }.New status is propagated to all friends {@link org.linphone.core.LinphoneCore#addFriend(LinphoneFriend lf) previously added } to LinphoneCore.

    Handling incoming subscription request
    New incoming subscription requests are process according to{@link org.linphone.core.LinphoneFriend#setIncSubscribePolicy(LinphoneFriend.SubscribePolicy) the incoming subscription policy state} for subscription initiated by {@link org.linphone.core.LinphoneCore#addFriend(LinphoneFriend lf) members of the buddy list. }
    For incoming request coming from an unknown buddy, the call back {@link org.linphone.core.LinphoneCoreListener#newSubscriptionRequest(LinphoneCore lc, LinphoneFriend lf, String url)}

    Chat room and Messaging

    Exchanging text messages
    Messages are sent using {@link org.linphone.core.LinphoneChatRoom} object. First step is to create a {@link org.linphone.core.LinphoneCore#createChatRoom chat room } from a peer sip uri.
    
    	LinphoneChatRoom chat_room = lc.createChatRoom("sip:joe@sip.linphone.org");
    

    Once created, messages are sent using function {@link org.linphone.core.LinphoneChatRoom#sendMessage } .
    
    	chat_room.sendMessage("Hello world"); /*sending message*/
    

    Incoming message are received from {@link org.linphone.core.LinphoneCoreListener#textReceived a listener }
    
    	void textReceived(LinphoneCore lc, LinphoneChatRoom cr,LinphoneAddress from,String message) {
    		System.out.println("Message ["+message+"] received from ["+from+"] ");
    	}
    
    
    
    
    
    
    Copyright (c) 2000 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
    

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. RIFFWAVEfmt Ddata                 """ $ $""(( ,**"& $$(*((*$$$$*"4**00*. 820* ,.,4(,.*4 4"*0.$4"42 0(22,$,$42$**(**,( ",**("*."& ",4$ ("""  "&"" "$                    " ,((46 B<*     "                                      ""  " " "   $"&&(&"""  " " $ *" ** "$" " *  " "                           """*"4&,(.*62$* "   """"  $                                                        " &"" "&" * ,0"0*$ " $,**40***.,**.42*&$$**(ROOT=../../../../ PACKAGE=org.bouncycastle.crypto include $(ROOT)/build-config.j2me all: $(JAVAC) -bootclasspath $(BCP) -classpath "$(CP)" *.java ROOT=../../../../../ PACKAGE=org.bouncycastle.crypto.digests include $(ROOT)/build-config.j2me all: $(JAVAC) -bootclasspath $(BCP) -classpath "$(CP)" *.java Fcr\=⍯K:  $-6>IXgv/nvs Goodbye !sSettingssConsolesAboutsFind:sMutesSpeakers SIP accounts Username*: s Password*: s Domain*: sProxy*: sAdvanceds TransportsEnable debug modesSubstitue + to 00 sNo username configuredsNo password configuredsNo domain configureds Bad settingss;SIP (rfc 3261) compatible phone under GNU Public License V2sSavesAudio permission denied sclearcres\=⍯K:  $-6>FUds,kss Goodbye !sSettingssConsolesAboutsFind:sMutesAltos SIP accounts Username*: s Password*: s Domain*: sProxy*: sAdvanceds TransportsEnable debug modesSubstitue + to 00 sNo username configuredsNo password configuredsNo domain configureds Bad settingss;SIP (rfc 3261) compatible phone under GNU Public License V2sSaveЉPNG  IHDRsRGBbKGD pHYs B(xtIMEuE\^IDATHǵkQ/dED46v-"BI'XN -B(" )$3yflL6daox{λw`!"Yf,H";A "zCa]l8wy5ubq;h&xx˽gv']jM AkH˵ܞIRWX fL 6[MiN4 dcs8y53!UoZh;'y tRJ/o#ȱqA&`4|XRje$3?;y3G):zyvvvu$Op~4iۀo1OI뛔qt+W4VIz_MԵmIb.y\Mgk2U{2 ΔKVϓue@'*k[egWܖ*87ciJb28Y AU9'$ف.\)Op%W2PsH7kֳt,*zs2_LmU`ͭMi~= +О zZi>`vTC~-GJethydcIENDB`ЉPNG  IHDRsRGB pHYs B(xtIME  Y@1IDATHǝLǿ9u_z vEj2KkhZ7n:蚺fshm]n չUMujh :+SP".^}4]B7?y99OmƞdvPXa`~[#3U0O爅M0Ѧx|d_WԆ@SN%R!#>Ko'PQpF:/ף6{r~a̴`R^^BJ)UbE~P~AHnVRx4 y7k <_Z?<k> mӦlwWa^Jjl_RP0#ߌPZM/j ӡAUĚs~[k"?钓U/{޴B 5iYID`v ܝ= E[}iU9 r.}kX4o?0Ǟ7=+HBz9ZW@gwa_@wԱŃƐkhħ;l)YFg—{Jg5(fCy)l^͸68DGK IEݱ__r2 ̘1k^!0ѷ\13 J<#=5FL `pRD}+]w-4f.&@ދjݿdlhU4m߾Ԡ0j~F~ЙVt CJp2@u 8qsKp{V aTUU OqB[+mupn Ԗ h6\% ˉ^nHصk=Ӥ0&n!2Y#PĦeTn}pk5l] JaxA3^@46WH^ϲTo*|k@C,:6F1e}vv2ǶJut+Gn@C hd=5r%_xi̹ha1r}p#?'d_|gj%@z<-eiR2mcVbc aY}WofAF\+h7# q4K„& 7:gĄearfۛXgC%n. 7f$.!ј8rи5C@rsDŽ9sB%R!0SNؒ%Kv:tK.p`+w0ţ?'Si:7=F5Iweq_JtJ:ݎXwڵHAG*bEsXTAJ0력& p!yf@:'q$.u^H8ܸaÆB]]]$n:uH),%֏W>Y_NI4ne(,<'c$Ůntu G'F$;ܬSzڴgHhvpJ=5He$4x@t܉H2ch'glۗ/SPP@)EDߒTTT||>lwk:yu^ΌoBϔ3DPyDbudP(4 uuuuIENDB`&ЉPNG  IHDRVsRGB pHYs B(xtIME $JIDATHǭ]LTGs?fܽ+JDQA+֯][n I%M F>XӇQqVMH?M H`I@]\N "6V'ܗ?s cOw-:8٪ ZRo|_wlIvJP^Uj| b*!rS TN`67 Y8w7PF\f<(,8_Xr' ,L(''ֺrzۂ5)~?IMIv;3aeKfLYQ@@Jד] ʶiB!wnk FW$'9h={^\Pj"֡ @%P `6iV=UA;_{lG DMo;|F{ɜ9JYPFw,9W"5p,`G@<p)P\V6@AT C@eN( ,)5;_eee/uL{j ¬1K&:::C!1PnϺs $kB''0N> Bw۷FʪtBĬIqݨȈll,k ;  ltVjV˖-o]Π\쎐gN| & A>@+n ɝSܨ*p`0gcRB'/I~A׶vj9goq%gX22 -+ϽR=jUnl5ղis÷-ї_qTˍ^3z _a? ݍZ5$o_b݀32Bطa<6[G]VEe053 {{RvtQ!?AVGciH^dp]deV}Xg&k{[`Z$3lڼRYc[4nDS s~|kZ9O,0쯴.9wP{+2zn ĨbP WVޏ-0u%3jwDE @YߺN4Ղwyt^^eR V#zgUG۱lɇLeK]eja5wxUXj=Ȗ7+RTۋ .dbr#V7z`Z'/B{b]JwTu}vֿGv(j ,孖#慣ۖ}CNuM\#i[\nk2<@q#ѡ*A`kpRyp^m^q[-?jٸ{n!d}% %s]tB*CM?}QY46aا) ܢ`3IGE`uexc~vn X? aI_XSwIऺ{&#g/.b7ƙmH *Z*B䂿 qT0JQM*݋S;]]lL&b̎m8ܪ)";ia"5(C.YjS$ 2QX`=.Ĺ*IJnPa>i[a_ cKqҎGisԮv%P*^XBȊ<EEK*=bV* pގ]|r7],=J;i yΔE)^-ǻ6@HUR(U4RnL&Jwdfn1+r-^g\x+8E TSV> ~(No23Ƈ~ (1ƞOtlȫ;3esUSA5*U.ϙsKñvE@A *TeTvnPF{ Mu3xo}'|A@㩀:=j4hS}LWWVhGH{BdU9 ,R]5`$D9>,NVh䀬j@5 Ղf 4G7&u@VU S$=9:]Xrz:x6M@^].ӥXdO%nrAST 4lB9J+ CSjF7 !>vq뜽 Z0ٺnL`j!ϲ<:cKHI\Ѥ/˜]sl2^MΓ2^Icsjg:Ǎ*8{̱4\h/[Xbj1G+UqQrh*q>!ix,S]rp7&g;\m\F'+K^iþ?}>s\; |@B 񾦴Y޻O;C̦^o&Ws$_Xܶ]_P2ғzm6O@x&Q!,qێw`z90O͍W!jS4pu'+`E(N3nK pbG)DM!5:,-c@d_0t'{I]^\]a$s4Oe=TnqΆt/78yr^Q` #?l}|4|PgCJ9MQ<8$u7pk_:+dNە>l |+F!Q)xn7 ~Wl$BT&Uf7n# N]4Qo)ؿ;xBxWc l`&<09ۢ8Yo96vс}i6:8c6(=N :}Qx7yXkV'?~u`n͖2AvhrtLltxGRKS ] ߭(T0'nrǻ[-u?Ҕ+>5on,<VMɇ3G׿i[;Ҕld v  s,Aͱ8_mbϻlOi'gݶ;м?+{=^:\P QCNPm0G?6/͊UWI+b)[ܶ;.miJ&A995pE',(NW^EGNih0xtQIw/ĦVjCW `y;2ς@k݃Pr6M JYF@?^ N T~9Zo fw{h֓G,1N̛סH]?IFUU8&}(f/"n%f,NgQ^7}F\㤥+Z UU5G60&g`m<,YB=[(@8w=)57\?6V.*YgDyHZ-F^s)K~NEס*$,/fohq?Z[yZ' \O[˨x1$_r#1 #+ 'KN /II#")4" .۬X'桍}Z Ӱn%}(Sв Q̑LSDLvUtseW !Qԭy<eY0OD {\x 81 SG'RQDb}ώ,벜.Tq]y;Q ?8+Pq׽.Anbu mkmv;D02B"?%=RϾ Pt4~?M_Oջ8'wMd ?!9w?Q_nS[@1$E{M@S>oEOeco1h?,:q:9Nր$)m~ Yo}N׾EӦOpdA@Ss6,AfC$EȸW/ER!X^S_}Cj p(@/)zg<.λ?-ط6#w`C"rg |"^{wmN/7PUU.Qs$bY[ kdI}by\53,)K0hܰnﳭK-7/osɠH:JWRm\E_d%?G xHhzX _sVh?Bn'iEe7ς[]]pcj$ ]t< \1YTO\Q)=ܥ˱Np9Tw1؅brʨ<tWVnyVrnь>.;+KyŨ^O{~$^xm(,G mZ a󵧄R %*_XKyWX?~3du $~vLwli1 UŒGY'Ἣla>Iٯ"w }i6`1tʗcR@ `OCupVDj7}?^zd.sHtT~@ ,k4 V[@9K0ĥ|/埕NOfLp#n{, J653Ɉ/GAkw)&V~pz:s{NˈgLSW*V\U[qn ۝^}\̦xUfCTgF2Jͣo@3w]:)4p+Xg݃cHB7y6㮫Y5X{J BWtbm4oh聢Z]_u\c`q鴣j੫U%vRm.}S ~`r)nfӹDzNE^3\%rJjqv1*;Y'}yٜ2Q=esRXSUnT~c'u-.~t)s/vGBQ+U3^&Vs] ?x.8͢s' M[>LIԹX&LGhuVۿy ֩?Kn$vоFxԮz Y0$g2{Q|fCGn4S}4)ܥ{mipAƀ{_N]zg?/.]\6Ya gL_bШYKr9-'߃m./+8skKBny3RH2SAAPUo`6_7YX(& Og5w2^)^IEz~D|BhΟ`dŒB mE8Kڸicn9/r㹲\٭fv\ǮuĪ+rO=aOE˰~$?>kfu7u}74i1hnxΜTpkx}WIMy}i?]es!9|?Ίc`PhL07txVО5>&4%SyԴ8"z[t^:ǂh3O8~{^.)c;-}GްS& z?s;*[/Xj)3/l!퇿 $If (&( K5X[Zkx)K:f]%@y%`'3iL԰ըWN'!2<R/ˆ%xdF+o"M2`8ғ:`fG^Gc17DH $#>|@(|ɜ_E]׿.+ U5[;9isTVxT7MUU;m78]S_kSh,Qc0$g`eBI<QLxÕΠ;zM0IBGNvH0iLzEP[SvZW;V?9YY~L^F '%2Gc%u״l>jd.:R$I"PK4~ֽS4ZRFFtW]2 ֢vAM'jι-Z[\ߋJh"7 a It' tdIQКßΝүϣkFFmǷv ^F[]A741 ,ʃ+Sy fdDqϒiCrzd #F.\@Uw+_E4H)!j׼!I2ew~<5{6یEG.]l39;gnBPNG֙'Mܨ>;yT~*:4݆!:̖&nyk!tW,Faq}OkhqN/~li_G15 " %kd4f+Ί=Vv~Uw#+?id19o#A1d|^}i ZL-Ƕ5xCyi~a^:E=5č&9;ilscii莨8ܴ[CGL95; #5keMɽ萝??W֗ :Y#m#)x5kۂkdHRWm{;U%֥xCݟ"+qT%u6 ǑC <7L@a,z}p?;".gVMÕy(]p<?_? WJ m/eqG;:k L8q,:4?奼~T \ǰ:X+} WcL;j(D 31#4a$ I'nhGΧy:i޺(FPa֦i(6#'pS&qVbƸ(Ι̬x |u{5X2eu!LGfx+VV+-4q 益es1Nlyk(Č<$ͼeb,CN7?&JqLS/dWaLUW=nfmohe%]r=w>>9Sc-|nեx>h/{#"_xiC}'ਫ਼XFuzئ~B/5v^b`e]^w$JO/eOލͨcNv-sx" k_^砼n)\~zgi67O7{B%9p~^OTRow7 IOKHU;I5s)c85{u%;]Tl)3iO}Ǝ_,Đ"kOZ > ryݎE.:YEr/BRT0qC+h52չ.L,OMe*xjD󔱑\ ا!fZOLe]Efc0gx5^99B?)v : HbfYq\b!;co=y$,z&1y67_cCQ=e4 ApXΘ܉ꕍʎ KΤ`ʼ iqf-_i}40et-C}ya*<eo )CX{.9#p#ښk%S"1gM:}hONl3mSDKR ڢ'.r`z8b¦INJDf>(2)ax )<.Su+NKLz-6 fr`4jt"Jhdh#i1&] n/~QK":zF򝲓;fDYziԅGoLI";5-)w-\*a3ia#3zvԤxY(-?9*HEI^$dbT֒JX0ܜ5˻(+KX ov S5EG}NDžSOsG] Nԉq,ȍgFVLjAwjͶC. hJ7;4sP4ӻ!I|/h/n8 bPk<;dGťڋKFq +Gǂ3% 7Zա%" d$X1u2"piiwsɾVڏ@<;++d2-#[ۯ}ưd׉[x[ֿD7: D Td!dt(~ .uT\{0$/>xJ'8fh gMOI:=lȖԶ}T45$G0s\ s'&ki?F e,'됍6 +!ŀ$̟52`JOwo¾ߠMxw,Y ~8*F &c.kc6h1hRb=`qK$\\j .PU袴~_bDup;YFu_xކƪK( Pp>ad﹄u|TPG44mlEw1G#TU$9dԽ~Yu}'f^W0!char0H# gԬ5 >fi9IWTԭ~*cluH3?Jd ww]ԣf] a ~:\[tAI =W Fp7-P"sVJw֣{(2ɗ\O%)iGě(5WIDATfJT_; ,Ūw7J֩n=n|<=#XL94o,u%Npb{͂7$:_7SUoKC JVavK&/9F >QnV ŮH6s5Cc]s1XApWۉ]psؾ$I`4Z+xsW@0+ˑ:hI7XG+Pn<]gBk \q%$(*YtsӶ`A ğ}qe#^~%Oݍ1H̼(QߍlƜy.㦄 QJ8e<=t, !-uLzTԬoSAdL8+\dt)q ' ` @÷'W7ߋ>f2ژt(Tc4JۆoSMk!):$I Z?mcc,aײߴzWT$Ea]2'Qs1'U!V OP26Lm2F U`0 I 2B-S_b4[c+ifwR͛D N :|+Иg_Ws.G DMi/Y<@R*v?`-"IɸA\BµU6~d^{%emD *NVfo.B@@ %B@@ %B@@ %B@@ %B@@ 89V}LIENDB`s*leCsPosChtDitDpyN,eF mToTTשUs N,eWw/w/"k#ht S#ab~Speak ... sos....?....i18n.........ca .....t.........pg.lphe.jlphe.[ g.lphe.jlphe.gCl`LabPosdTtw/*'$0AppDi Di $3Di $4Di $6Di $7Di $8Di $9DiogDpyH߼M! Hashtab~LpheClLogIlLpheMaLpheSc LpheSc $1LpheSc $4LphesoM! ObjP sab~PheTײlt R]hT׿Rnab~Sc Sc ViT TaskTh wab~T׿UiApp[m.. sos_scri_ sos_ sotss_pFgs_pIcs_pN,es_ptIcs_pt_p \ies_v s_vasbkscv*dfi#jlpheRIMsosjlpheRIMsosPul0m(DMom(p?dmClDit(mCl`mDi mDpyN,emDpyN,emDmD¿mF mmM?emPheN mPheTײlt mSpeak mTabmTomam mW/p?p`hSc pulrsyv$evue.?. EvDp sosoBd~w/lt yd"kbox@t Buff @ $.DS_Store$0s1.0.17.0.0.440$: $LICENSE.html$contact_orange.png$dialer_orange.png$history_orange.png $in_call.pngjlinphonejlinphone-1jlinphone-10jlinphone-11jlinphone-2jlinphone-3jlinphone-4jlinphone-5jlinphone-6jlinphone-7jlinphone-8jlinphone-9$linphone-banner.png$makefilenet_rim_cldc $oldphone.wav($org.linphone.jlinphone.gui.Linphone.crb*$org.linphone.jlinphone.gui.Linphonees.crb $org/.DS_Store$$org/bouncycastle/crypto/LICENSE.html($org/bouncycastle/crypto/digests/makefile $org/bouncycastle/crypto/makefile$org/linphone/.DS_Store$org/linphone/core/package.html $out_call.png $package.html$s$sip:fڳ(..0888:tK+7fڻ (**,00017f  =(**,002317 f=(**,0001K7f (**,44687L f (**,4446&-7Q (004DDHL )c\+XXg-f (((,,,,,fB 1((((((((f( (**,0023vf5 k(**,0023_v"yk] (((,,nnny==ۅۅۅۅۅۅۅ ۅ!܅"3 #](((*****k777 7 7777777!7 77 777777777777 777 8X#g g GGgGgGgg g g Gg  gGggWWw WW WWWw w  !w  Wgg٩*CXF1FCFCCXCXfG5ږ(`5 IN@~SB525krݎ܆XښCڧy:C5fڭ f **+u%oB+c ^+S}+ٟ* O* s<|*L* lp* tٛ* |܍-M *-X*-X%,@^#^X'x^-7c'Eo [<ڣ*Bk@Xr0*v8#s[k^-". *\)g*g*:-3*0ݭ*4+:-:-4PjXM[%Mڳ[T.* L* dX t8O       q"l t R@!=0ctXT^^(^A"OI4=N481~Un7 g  =01 &PF# &   ' "."JRCR 0#yPf}tBP@VHV ~q(Zb/졍)jLxAZY]ݒ ~L;lz¿qT%B r:γY0 Q7{KxRBBl<2ZʭpmFGu"ꝥjS&Vڍ%εfi#ux Mo<6yN[`I"wM)