" (C) 2010-2011 by Holger Hans Peter Freyther All Rights Reserved This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . " PackageLoader fileInPackage: 'OsmoSIP'. Osmo.SIPCall subclass: SIPMTCall [ | remoteLeg sdp_alert | remoteLeg: aLeg [ remoteLeg := aLeg. ] netTerminate [ "The other side of the call has terminated, we need to clean up things." remoteLeg := nil. self terminate. ] sessionNew [ "We now have connected call, tell the other side." remoteLeg isNil ifFalse: [remoteLeg netConnect] ifTrue: [self terminate]. ] sessionFailed [ "We have failed to connect things, tell the other side." self terminateRemote. ] sessionEnd [ "The session is now disconnected, tell the other side." self terminateRemote. ] sessionNotification: aNot [ "The session has some information. We will use it to tell the other leg of the connection." (aNot code asInteger = 183) ifTrue: [ remoteLeg isNil ifFalse: [ sdp_alert := aNot sdp. remoteLeg netAlerting]]. ] terminateRemote [ remoteLeg isNil ifFalse: [remoteLeg netTerminate. remoteLeg := nil]. ] sdp [ ^ sdp_result ] sdpAlert [ ^ sdp_alert ] ]